我在地图上添加了一个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,则执行包括将地图居中于所点击的标记在内的默认处理,并且我可以在同一标记上进行第二次单击,但第三次及之后的单击则不会做出任何反应。因此,问题似乎在于在地图缩放或居中发生变化之前,不会识别对同一标记的单击操作。
我在标记方面没有做任何特殊处理,除了使用从位图派生的自定义图标。
还有其他人遇到这个问题吗?我应该检查一些可能存在的错误吗?或者这是一个已知的问题?