In this android programming source code example, we are going to display Firestore location on Android Map.
You can copy and adopt this source code example to your android project without reinventing the wheel.
Below is a step by step source code to display Firestore location on Android Map.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <fragment xmlns:android="http://schemas.android.com/apk/res/android" xmlns:map="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MapAndService.MapAndServiceActivity9" />
MainActivity.java
import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.widget.Toast; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.OnMapReadyCallback; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.MarkerOptions; import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.OnFailureListener; import com.google.android.gms.tasks.Task; import com.google.firebase.firestore.DocumentReference; import com.google.firebase.firestore.DocumentSnapshot; import com.google.firebase.firestore.FirebaseFirestore; import com.google.firebase.firestore.GeoPoint; public class MapAndServiceActivity9 extends AppCompatActivity implements OnMapReadyCallback { private GoogleMap mMap; private FirebaseFirestore mDatabase; private GeoPoint geoPoint; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_map_and_service9); final SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); mapFragment.getMapAsync(this); mDatabase = FirebaseFirestore.getInstance(); DocumentReference documentReference = mDatabase.collection("AndroidView").document("LocationData"); documentReference.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() { @Override public void onComplete(@NonNull Task<DocumentSnapshot> task) { if(task.isSuccessful()){ DocumentSnapshot documentSnapshot = task.getResult(); geoPoint = documentSnapshot.getGeoPoint("Sydney"); double lat = geoPoint.getLatitude(); double lng = geoPoint.getLongitude (); LatLng sydney = new LatLng(lat, lng); MarkerOptions markerOptions = new MarkerOptions(); markerOptions.position(sydney); mMap.clear(); markerOptions.title("Marker in Sydney"); if(mMap != null){ mMap.addMarker(markerOptions); } mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); } } }) .addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { Toast.makeText(MapAndServiceActivity9.this,e.getMessage(),Toast.LENGTH_LONG).show(); Log.d("Androidview", e.getMessage()); } }); } @Override public void onMapReady(GoogleMap googleMap) { mMap = googleMap; } }
app/build.gradle
implementation 'com.google.android.gms:play-services-maps:17.0.0'

If you have any question or suggestions kindly use the comment box or you can contact us directly through our contact page below.