Попробуйте, это точно подойдет вам.
db.collection("latlng")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
HashMap hashmap = (HashMap) document.getData();
GeoPoint geopoint = new GeoPoint(hashmap.get("latitude"), hashmap.get("longitude"));
MarkerOptions options = new MarkerOptions().position(new LatLng(geopoint.getLatitude(), geopoint.getLongitude()));
}
} else {
// handle your errors here
}
}
});
По сути, кодовая база выше запрашивает Firestore в узле latlng и получает все геопоинты в этом месте. Затем он продолжает отображать маркер для каждой из координат. Я действительно надеюсь, что это поможет.
ДОПОЛНЕНИЕ
Существует более простой способ хранить и извлекать значения местоположения из FirebaseDatabase. Вы можете легко сохранять и извлекать данные, используя GeoFire . Прочитайте ReadMe из официального репозитория , чтобы лучше понять.
Надеюсь, это поможет. Веселого кодирования!