在Maps API v2中完全禁用onMarkerClickListener

时间:2013-03-14 05:38:14

标签: android onclick maps marker

我想禁用map markers上的点击/点击。我知道你可以disable default behavior设置一个空map.setOnMarkerClickListener并返回true;但是,这仍然会点击标记。我想点按一下onMapClickListener

在我的应用中,点击地图会移动一个标记,如果您正在点击标记已经靠近的地方,它只会认为您正在点击标记!你会认为有Marker.setClickable方法,但没有。

6 个答案:

答案 0 :(得分:9)

只需覆盖onclick事件:

map.setOnMarkerClickListener(new OnMarkerClickListener() {
    public boolean onMarkerClick(Marker arg0) {
        return true;
    }
});

答案 1 :(得分:0)

我有两个建议:

如果我理解正确,你想提供在地图上放置标记的功能,对吧?!如果您无法删除setOnMarkerClickListener,那么您是否尝试在地图上draw并最终将您的绘图“转换”为Marker。 (从绘图中获取'LatLng'并创建Marker)。

实际上第二个建议并不是真的好(取决于你是否可以缩放/移动你的地图)。我有一个类似的任务,我们在地图上使用透明覆盖,处理所有用户输入并委托它。但我们没有放大和移动的功能,这对屁股来说会很痛苦......

答案 2 :(得分:-1)

map.setOnMarkerClickListener(null);试试这个

答案 3 :(得分:-1)

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);

请尝试以上代码。这会将你的infowindow设置为null。

答案 4 :(得分:-1)

OnMarkerClickListener应用于您的地图。实施onMarkerClick()方法并返回false

googleMap.setOnMarkerClickListener(new OnMarkerClickListener() {
    public boolean onMarkerClick(Marker marker) {
        return true;
    }
});

答案 5 :(得分:-3)

没有必要实现OnMarkerClickListner。试着删除这个陈述

map.setOnMarkerClickListner(this)

来自您的代码,我希望它能解决您的问题。