Не центрировать маркер на клике - PullRequest
0 голосов
/ 27 декабря 2018

У меня есть Карты Реализации, и когда я нажимаю на маркер, я не хочу центрировать маркер на карте.Как это переопределить?Я пытался переопределить setOnMapClickListener, но это не работает:

override fun onMapReady(googleMap: GoogleMap?) {
        googleMap ?: return
        with(googleMap) {
            setOnMapClickListener {
                changeSelectedMarker(markerHashMap)
                bottomSheetBehavior.state = BottomSheetBehavior.STATE_HIDDEN
            }

            setOnMarkerClickListener {
                handleOnMarkerClick(it)
                false
            }
        }
}

1 Ответ

0 голосов
/ 03 января 2019

От Официальный GoogleMap.OnMarkerClickListener Документация для OnMarkerClick:

Возвращает

  • true, если слушатель использовал событие (то есть поведение по умолчанию не должно происходить);иначе false (т. е. должно происходить поведение по умолчанию).Поведение по умолчанию - перемещение камеры к маркеру и отображение информационного окна.

Таким образом, во избежание поведения по умолчанию для щелчка маркера (то есть для перемещения камеры таким образом, чтобымаркер центрируется, и для информационного окна маркера, если оно есть), ваш public boolean onMarkerClick(Marker marker) должен вернуть true:

...
mGoogleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
    @Override
    public boolean onMarkerClick(Marker marker) {
        // do what you need on marker ckick
        ...

        return true;  // <- this is the key
    }
});
...

или код Kotlin:

setOnMarkerClickListener {
    handleOnMarkerClick(it)
    true
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...