Вы не обновляете существующий маркер, вместо этого каждый раз добавляете новый маркер. Если вы хотите обновить существующий, сделайте что-то вроде этого:
if(mCurrLocationMarker!=null){
mCurrLocationMarker.setPosition(latLng);
}else{
mCurrLocationMarker = map.addMarker(new MarkerOptions()
.position(latLng);
}
также, если вы хотите перемещаться или перемещать камеру к этому маркеру, также звоните:
map.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 15));
Надеюсь, это поможет вам.