不要使标记onClick居中

时间:2018-12-27 15:22:04

标签: android google-maps-android-api-2

我有Maps Realization,当我单击标记时,我不想在地图上居中放置标记。如何覆盖呢?我尝试覆盖setOnMapClickListener,但不起作用:

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

            setOnMarkerClickListener {
                handleOnMarkerClick(it)
                false
            }
        }
}

1 个答案:

答案 0 :(得分:0)

Official GoogleMap.OnMarkerClickListener DocumentationOnMarkerClick

  

返回

     
      
  • true,如果侦听器已经使用了该事件(即,不应发生默认行为);否则为false(即默认   行为应发生)。默认行为是相机移动   标记并显示一个信息窗口。
  •   

因此,为避免默认的标记单击行为(使相机移动以使标记居中,并打开标记的信息窗口(如果有的话)),您的public boolean onMarkerClick(Marker marker)应该返回{{ 1}}:

true

或您的Kotlin代码:

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

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