Это началось как комментарий, а затем превратилось во что-то вроде ответа. Одним из вариантов будет нарисовать на карте Google собственный маркер для значка такси. Всякий раз, когда есть масштабирование, перетаскивание и т. Д., Вам может потребоваться выполнить повторный рендеринг, чтобы снова получить его в том же месте. Я могу проверить, что есть возможность фиксировать события кликов на пользовательском маркере в Android. Вот как может выглядеть ваша установка:
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.setOnMarkerClickListener(this);
mMap.setOnCameraMoveListener(this);
// ...
}
Затем переопределите прослушиватель щелчка маркера:
@Override
public void onCameraMove() {
// remove the old marker, and redraw it again on the left of the screen
}
Возможно, вы также захотите зафиксировать события кликов на своем пользовательском маркере:
@Override
public boolean onMarkerClick(final Marker marker) {
// ...
}
Приведенный выше метод onMarkerClick()
получает ссылку на маркер, по которому щелкнули. Вы можете сохранить маркер с областью действия, а затем проверить, соответствует ли он тому, что было щелкнуто, чтобы решить, был ли выбран ваш пользовательский маркер.