我想禁用单击/点击map markers
. 我知道你可以disable default behavior
通过设置一个空map.setOnMarkerClickListener
并返回true;但是,这仍然需要点击标记。我想将水龙头传递给onMapClickListener
.
在我的应用程序中,点击地图会移动一个标记,如果您在靠近标记的位置点击,它只会认为您正在点击标记!你会认为有一种Marker.setClickable
方法,但没有。
只需覆盖 onclick 事件:
map.setOnMarkerClickListener(new OnMarkerClickListener() {
public boolean onMarkerClick(Marker arg0) {
return true;
}
});
我有两个建议:
如果我理解正确,您想提供在地图上放置标记的功能,对吧?!如果您无法删除setOnMarkerClickListener
,您是否尝试在地图上绘制并最终将您的绘图“转换”为 a Marker
。(从绘图中获取“LatLng”并创建一个Marker
)。
实际上第二个建议并不是一个很好的建议(取决于您是否可以缩放/移动地图)。我有一个类似的任务,我们在地图上使用了透明覆盖,它处理所有用户输入并委托它。但是我们没有缩放和移动的功能,这会很痛苦......
应用于OnMarkerClickListener
您的地图。实现onMarkerClick()
方法并返回false
googleMap.setOnMarkerClickListener(new OnMarkerClickListener() {
public boolean onMarkerClick(Marker marker) {
return true;
}
});
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);
试试上面的这段代码。这会将您的信息窗口设置为空。
map.setOnMarkerClickListener(null);
尝试这个
不需要实现 OnMarkerClickListner。只是尝试删除此声明
map.setOnMarkerClickListner(this)
从你的代码,我希望它能解决你的问题。