我在我的地图中添加了一个 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
则执行默认处理,包括将地图居中于单击的标记上,我可以在同一个标记上进行第二次单击,但第三次和后续单击不会执行任何操作. 所以问题似乎是在地图缩放或中心发生变化之前,无法识别对同一标记的点击。
除了我确实有从位图派生的自定义图标之外,我没有对我的标记做任何特别的事情。
还有其他人有这个问题吗?有什么我应该检查我可能做错了吗?或者这是一个已知问题?