Мой вопрос кажется излишним, но я не могу найти точный ответ на мою проблему. У меня есть 2 приложения, один из которых является пользователем, который отправляет местоположение в Firebase, а второе приложение получает местоположение от firebase и создает маркер. Всякий раз, когда пользователь меняет свое местоположение, маркер не обновляется хуже, предыдущий маркер все еще можно увидеть на карте, и он добавил еще один маркер. Как я могу это решить? Чтобы понять мою проблему, вот мой код.Если маркер не равен нулю, то как удалить маркер и создать новый?
Это второе приложение: получение места
passRef = new Firebase(Config.FIREBASE_URL_PASSENGER);
passRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
if (snapshot.child("latitude").exists() && snapshot.child("longitude").exists() && snapshot.child("destination").exists()) {
passUsername = snapshot.child("name").getValue().toString();
numOfPassenger = Integer.parseInt(snapshot.child("numberOfSeats").getValue().toString());
//getting the passenger's current location
locLatPass = Double.valueOf(snapshot.child("latitude").getValue().toString());
locLongPass = Double.valueOf(snapshot.child("longitude").getValue().toString());
dummyLocLatPass = Double.valueOf(snapshot.child("latitude").getValue().toString());
dummyLocLongPass = Double.valueOf(snapshot.child("longitude").getValue().toString());
if (locLatPass.equals("")) {
locLatPass = dummyLocLatPass;
}
if (locLongPass.equals("")) {
locLongPass = dummyLocLongPass;
}
latlngpass = new LatLng(locLatPass, locLongPass);
passLocMarkerOptions = new MarkerOptions();
passLocMarkerOptions.position(latlngpass);
passLocMarkerOptions.title(passUsername + "'s Location");
passLocMarkerOptions.icon(BitmapDescriptorFactory.fromResource(R.mipmap.pass_location));
passLocationMarker = mMap.addMarker(passLocMarkerOptions);
}