我在地图上添加了OnMarkerClickListener。当我点击标记时,会调用OnMarkerClickListener并显示AlertDialog。但是,如果我取消AlertDialog并再次点击相同的标记,则不会调用OnMarkerClickListener。这是我的OnMarkerClickListener:
googleMap.setOnMarkerClickListener(new OnMarkerClickListener() {
@Override
public boolean onMarkerClick(final Marker marker) {
AlertDialog.Builder builder = new AlertDialog.Builder(
DirectionsActivity.this);
builder.setMessage(marker.getSnippet());
builder.setTitle(marker.getTitle());
builder.setPositiveButton("Open in Google Maps",
new OnClickListener() {
// ...
}
});
builder.setNegativeButton("Cancel", null);
AlertDialog dialog = builder.create();
dialog.show();
return false;
}
});
只需移动或缩放地图,我就可以在同一个标记上进行额外点击。因此,如果我的OnMarkerClickListener.onMarkerClick返回true
,则会执行默认处理,其中包括将地图置于单击标记上,我可以再次点击相同的标记,但第三次和后续点击什么都不做所以问题似乎是在地图缩放或中心发生变化之前,无法识别同一标记上的点击。
我没有对我的标记做任何特别的事情,除了我有从位图派生的自定义图标。
还有其他人有这个问题吗?我应该检查一下我可能做错了什么?或者这是一个已知问题?
答案 0 :(得分:2)
只是在这里关闭循环,结果证明这是一个错误。 bbalazs在这里创建了一个错误报告:http://code.google.com/p/gmaps-api-issues/issues/detail?id=4829但是作为此错误报告的副本合并:http://code.google.com/p/gmaps-api-issues/issues/detail?id=4760
您可以点击星标图标http://code.google.com/p/gmaps-api-issues/issues/detail?id=4760投票。
答案 1 :(得分:0)
在'onMarkerClick'方法中,将返回值设置为'true'。