Как отключить нажатие на маркер карты в Android?
Я написал свой пользовательский слушатель местоположения, который каждые 10 минут проверяет местоположение пользователя и обновляет маркер на карте, который обозначает местоположение пользователя. Проблема в том, что маркер кликабелен, т. Е. Он показывает кнопку, чтобы проложить маршрут к маркеру. Я хочу отключить это, как я могу это сделать?
Вот функция, которая создает / обновляет маркер
public void updateUserMarker() {
Double temp_latitude = ((MainActivity)mContext).mLatitude;
Double temp_longitude = ((MainActivity)mContext).mLongitude;
if(mMap!=null) {
if (user_marker == null) {
MarkerOptions markerOptions = new MarkerOptions().position(new LatLng(temp_latitude, temp_longitude));
markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.my_marker_icon));
user_marker = mMap.addMarker(markerOptions);
} else {
user_marker.setPosition(new LatLng(temp_latitude, temp_longitude));
}
}
}
1 ответ
Решение
Попробуйте этот код.
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
return true;
}
});
Возвращение true также предотвратит открытие информационного окна.
Для использования этого с ClusterManager
:
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
if (marker == user_marker) {
return true;
}
return clusterManager.onMarkerClick(marker);
}
});