Google Maps API v2:如何使标记无法点击?

时间:2013-07-26 14:44:02

标签: android google-maps android-maps android-maps-v2

我的意思是如果我点击标记OnMarkerClickListener被调用,那么OnMapClickListener没有。即使我设置mMap.setOnMarkerClickListener(null);标记对象仍然屏蔽底层地图和对象的所有点击事件。 如何为所有用户交互设置Marker透明?

4 个答案:

答案 0 :(得分:5)

这确实是3.1.59版本库中标记的“限制”。

如果您确实需要将它们作为标记,请在MarkerOptions.clickableMarker.setClickable gmaps-api-issues上发布功能请求。

如果可以,请考虑使用其他可视对象,例如: GroundOverlay。唯一的问题是它们都与地图一起扩展,与标记不同。最接近的是Circle,半径为零,笔画宽度为20-50 dp,但这只是一个单色点。

答案 1 :(得分:4)

根据关于标记的docs,如果添加自己的Listener并且onMarkerClick()方法返回false,则将执行默认行为。

因此,在onMarkerClick()中只返回true,不执行任何操作以完全覆盖默认值。

答案 2 :(得分:3)

我发现此问题的唯一解决方法是在OnMarkerClickListener中执行与OnMapClickListener中相同的代码并返回false

getMap().setOnMarkerClickListener(new OnMarkerClickListener() {

    public boolean onMarkerClick(Marker marker) {
        onMapClick(marker.getPosition());
        return true;
    }
});

答案 3 :(得分:0)

您可以跳过设置Marker.Title,在这种情况下标记将无法单击。如果您需要将某些数据(例如ID或名称)与标记相关联,而最终用户无法点击查看,请使用Marker.Tag