我有Maps Realization,当我单击标记时,我不想在地图上居中放置标记。如何覆盖呢?我尝试覆盖setOnMapClickListener
,但不起作用:
override fun onMapReady(googleMap: GoogleMap?) {
googleMap ?: return
with(googleMap) {
setOnMapClickListener {
changeSelectedMarker(markerHashMap)
bottomSheetBehavior.state = BottomSheetBehavior.STATE_HIDDEN
}
setOnMarkerClickListener {
handleOnMarkerClick(it)
false
}
}
}
答案 0 :(得分:0)
从Official GoogleMap.OnMarkerClickListener
Documentation到OnMarkerClick
:
返回
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
}
});
...