3

我在我的地图中添加了一个 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则执行默认处理,包括将地图居中于单击的标记上,我可以在同一个标​​记上进行第二次单击,但第三次和后续单击不会执行任何操作. 所以问题似乎是在地图缩放或中心发生变化之前,无法识别对同一标记的点击。

除了我确实有从位图派生的自定义图标之外,我没有对我的标记做任何特别的事情。

还有其他人有这个问题吗?有什么我应该检查我可能做错了吗?或者这是一个已知问题?

4

2 回答 2

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的星形图标对其进行投票。

于 2013-01-23T13:14:33.223 回答
0

在“onMarkerClick”方法中,将返回值设置为“true”。

于 2014-06-11T10:27:57.053 回答