我正在使用 google map api v2 开发应用。我必须在地图上画出每个地区的风,我对此没有任何问题。问题是,风正在完全填满我的地图,因此打算点击任何其他标记将会出现风。有没有办法在设置时禁用该特定标记的点击?
Marker marker = mMap.addMarker(new MarkerOptions().position(point).title("wind"));
marker.setIcon(BitmapDescriptorFactory.fromBitmap(OthersUtil.getRotatedBitmap(MapActivity.this, ws, windForecasts.get(i).wd)));
这是我添加风标记的方法。我发现的唯一工作就是这个
@Override
public boolean onMarkerClick(Marker marker) {
if(marker.getTitle().toString().equals("wind")){
onMapClickListener.onMapClick(marker.getPosition());
}
}else{
another marker clicked
}
这就是它的样子。在这张图片中,我有2个标记,我不想点击风标记。
没有marker.setClickable(false)
。
答案 0 :(得分:0)
如果您只想禁用标记点击事件,请使用以下代码:
map.setOnMarkerClickListener(new OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
return true;
}
});
答案 1 :(得分:0)
试试这个:
@Override
public boolean onMarkerClick(final Marker marker) {
if (marker.equals(myMarker))
{
//handle click here
}
}
我希望它会有所帮助!
答案 2 :(得分:0)
我用这种方法来区分标记:
添加标记后,请将其添加到Wind标记上的 snippet("wind")
,并将 snippet("")
传递到另一个地图标记
@Override
public boolean onMarkerClick(final Marker arg0) {
if (arg0.getSnippet().contains("wind")) {
} else{
// Click of another marker
}
}
答案 3 :(得分:0)
您可以使用Map<Marker, Object>
,其中Object
是代表与风标记或其他标记相关的数据的任何内容,如下所示:
hashMap.put(map.addMarker(MarkerOptions), obj));
然后通过onMarkerClick()
中的地图检索对象,检查是否是&#34;风对象&#34;或不,你已经完成了。