我想禁用地图标记的点击/轻敲。我知道您可以通过设置一个空的map.setOnMarkerClickListener
并返回true来禁用默认行为;但是,这仍然将轻敲视为点击标记。我希望将轻敲传递给onMapClickListener
。
在我的应用程序中,轻敲地图会移动标记,如果您轻敲靠近已有标记的位置,它会误认为您轻敲了标记!您可能会认为有一个Marker.setClickable
方法,但实际上没有。
我想禁用地图标记的点击/轻敲。我知道您可以通过设置一个空的map.setOnMarkerClickListener
并返回true来禁用默认行为;但是,这仍然将轻敲视为点击标记。我希望将轻敲传递给onMapClickListener
。
在我的应用程序中,轻敲地图会移动标记,如果您轻敲靠近已有标记的位置,它会误认为您轻敲了标记!您可能会认为有一个Marker.setClickable
方法,但实际上没有。
只需要重写onclick事件:
map.setOnMarkerClickListener(new OnMarkerClickListener() {
public boolean onMarkerClick(Marker arg0) {
return true;
}
});
我有两个建议:
如果我理解正确,您想要提供在地图上放置标记的功能,对吗?如果您无法删除 setOnMarkerClickListener
,您是否尝试在地图上 绘制 并最终将其“转换”为 Marker
。(从绘图中获取 'LatLng' 并创建一个 Marker
)。
实际上,第二个建议并不是一个好主意(这取决于您是否可以缩放/移动地图)。我有一个类似的任务,我们在地图上使用了一个透明的覆盖层,它处理了所有用户输入并委托它。但我们没有缩放和移动的功能,这会很麻烦...
map.setOnMarkerClickListener(null);
试试这个
OnMarkerClickListener
到您的地图上。实现onMarkerClick()
方法并返回false
。googleMap.setOnMarkerClickListener(new OnMarkerClickListener() {
public boolean onMarkerClick(Marker marker) {
return true;
}
});
true
来消耗事件并覆盖行为。 - sulaiclass MyInfoWindowAdapter implements GoogleMap.InfoWindowAdapter
{
@Override
public View getInfoContents(Marker mar)
{
return null;
}
@Override
public View getInfoWindow(Marker mar)
{
return null;
}
}
gmap.setInfoWindowAdapter(new MyInfoWindowAdapter);
尝试使用上面的代码。这将把您的信息窗口设置为 null。
不需要实现OnMarkerClickListner。只需尝试删除此语句。
map.setOnMarkerClickListner(this)