Отключить onMarkerClickListener полностью в Maps API v2

Я хочу отключить нажатие/нажатие на map markers. Я знаю, что вы можете disable default behavior, установив пустой map.setOnMarkerClickListener и верните true; Тем не менее, это по-прежнему занимает краном, щелкая по маркеру. Я хочу передать tap на onMapClickListener.

В моем приложении нажатие на карту перемещает маркер, и если вы приближаетесь к тому, где находится маркер, он просто думает, что вы нажимаете на маркер! Вы думаете, что существует метод Marker.setClickable, но его нет.

Ответ 1

Просто переопределите событие onclick:

map.setOnMarkerClickListener(new OnMarkerClickListener() {
    public boolean onMarkerClick(Marker arg0) {
        return true;
    }
});

Ответ 2

У меня есть два предложения:

Если я понял правильно, вы хотите предложить функциональность, чтобы поместить маркер на карту, правильно?! Если вы не можете удалить setOnMarkerClickListener, вы пытались нарисовать на карте и "конвертировать" ваш рисунок в Marker в конце, (получите "LatLng" от рисования и создайте Marker).

на самом деле второе предложение на самом деле не очень хорошее (в зависимости от того, можете ли вы увеличить или переместить карту). У меня была аналогичная задача, и мы использовали прозрачный оверлей над картой, который обрабатывал все входные данные пользователя и делегировал его. но у нас не было функциональности масштабирования и перемещения, что было бы болью в заднице...

Ответ 3

map.setOnMarkerClickListener(null); попробуйте это

Ответ 4

class MyInfoWindowAdapter implements GoogleMap.InfoWindowAdapter
{
     @Override
     public View getInfoContents(Marker mar)
     {
         return null;
     }
     @Override
     public View getInfoWindow(Marker mar)
     {
         return null;
     }
}

gmap.setInfoWindowAdapter(new MyInfoWindowAdapter);

Попробуйте этот код выше. Это установит ваш infowindow равным нулю.

Ответ 5

Примените OnMarkerClickListener к своей карте. Внедрите метод onMarkerClick() и верните false

googleMap.setOnMarkerClickListener(new OnMarkerClickListener() {
    public boolean onMarkerClick(Marker marker) {
        return true;
    }
});

Ответ 6

Не нужно реализовывать OnMarkerClickListner. Просто попробуйте удалить это утверждение

map.setOnMarkerClickListner(this)

из вашего кода, и я надеюсь, что он решит вашу проблему.