Как отключить нажатие на маркер карты в 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);
        }
    });
Другие вопросы по тегам