I seek to change the position of markers in google maps with the value of the real-time database

I try to mMap.clear to but it's not the right solution because if I have 100 markers and change position of 1 marker the 100 is clear and reposition for make 1 marker change 

```
    myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
      mMap.clear();           
 for (DataSnapshot ds : dataSnapshot.getChildren()) {

            Double lang = ds.child("lang").getValue(Double.class);
            Double lat = ds.child("lat").getValue(Double.class);
            save = new model(lat, lang);
            ll = new LatLng(save.getLat(), save.getLang());

            mCurrLocationMarker = mMap.addMarker(options
                    .position(ll));

        }

    }

    @Override
    public void onCancelled(DatabaseError databaseError) {

    }
});

```

I try to change position for the marker but actual results add a new one if I not write mMap.clear and clear all markers and added them for change one marker if I write mMap.clear