- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 OsmBonusPack 中的 OnMarkerClickListener 有一个奇怪的问题。如果我在 OnCreate 中添加标记,则不会在单击时调用监听器。但是,如果我在所有初始设置之后添加标记,假设当用户与应用程序交互时,单击标记时将调用 OnMarkerClickListener。
为了说明,此代码添加的 OnMarkerClickListener 将不会响应:
@Override public void onCreate(Bundle savedInstanceState) {
MapView mapView = (MapView) findViewById(R.id.map);
mapView.setTileSource(TileSourceFactory.MAPNIK);
Marker marker = new Marker(mapView);
marker.setPosition(new GeoPoint(latitude, longitude));
marker.setOnMarkerClickListener(MyOnMarkerClickListener);
mapView.getOverlays().add(marker);
mapView.invalidate();
}
此代码添加的 OnMarkerClickListener 将响应(我什至使用相同的标记和 mapView 引用):
public void markerAddedbyUser() {
mapView.getOverlays().add(marker);
mapView.invalidate();
}
我想知道是否与 mapView.getOverlays() 方法在 UI 完全绘制之前没有完全准备好有关。但是,我尝试将第一个代码放在 onCreateOptionMenu 中,但它仍然不起作用。
最佳答案
在我发布这个问题后不久,我找到了解决方案。我使用以下方法列出了 MapView.getOverlays() 中的所有对象:
List<Overlay> overlays = mapView.getOverlays();
for(Overlay overlay : overlays) {
System.out.println(overlay.getClass());
}
我发现我在其他地方添加了一个 MapEventsOverlay,并且叠加层位于所有叠加层的顶部(列表的最后一项)。 MapEventsOverlay 避免 OnMarkerClickListeners 监听点击事件。我通过将 MapEventsOverlay 添加到列表的第一个来解决这个问题:
mapView.getOverlays().add(0, mMapEventsOverlay);
关于android - OsmDroidBonusPack OnMarkerClickListener 未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35619258/
我想设置不同标记的 OnMarkerClickListener。在这里,我想在点击相应标记时打印 i variable value of loop 。所以我按照以下方式做了..但它不起作用,它在每次不
我正在尝试制作一个允许使用 GoogleMap.OnMarkerClickListener 方法从 map 上的标记打开新 Activity 的应用程序,但不知道如何使用它。有人帮帮我吗? 最佳答案
我已将 OnMarkerClickListener 添加到我的 map 。当我点击一个标记时,OnMarkerClickListener 被调用并显示一个 AlertDialog。但是,如果我取消 A
我对 OsmBonusPack 中的 OnMarkerClickListener 有一个奇怪的问题。如果我在 OnCreate 中添加标记,则不会在单击时调用监听器。但是,如果我在所有初始设置之后添加
我在 Android 中使用 Google map ,其中有大约 800 个我想要聚类的标记和 80 个我不想聚类的标记。 对于我想要聚类的标记,我使用以下方法添加到 clusterManager m
使用 V2 map 。 基本上一切正常,包括添加标记。 但是,我需要在点击标记时采取行动,所以我安装了一个处理程序: thisMap.setOnMarkerClickListener(new Goog
我想禁止点击/点击 map 标记。我知道您可以通过设置一个空的 map.setOnMarkerClickListener 来禁用默认行为 并返回 true;但是,这仍然需要点击标记。我想将点击传递给
我是一名优秀的程序员,十分优秀!