java当用户点击osmdroid映射中的标记时,如何设置标记片段?
下面是我的实现,当我点击它时,我看不到我的标记上的任何描述。我甚至查了很多资料,但找不到一个有用的。寻找积极的出路
public Marker addMarker(GeoPoint p) {
Marker marker = new Marker(osm);
marker = new Marker(osm);
marker.setPosition(p);
osm.getOverlays().add(marker);
marker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM);
marker.setIcon(getResources().getDrawable(R.drawable.black));
marker.setTitle("Marker");
marker.setSnippet("Snippet marker");
marker.setSubDescription("SubDescription marker");
return marker;
}
# 1 楼答案
您的代码是正确的,应该可以工作。您应该使用最新版本的openstreetmap库并相应地修改代码Latest version目前为5.6.5
快速制作的示例给出了以下结果(点击后):
我不得不评论这句话:
因为我没有抽绳器
您从osmbonuspack使用的类不再存在,因为它们已移动到osmdroid库。您必须更改导入(例如,到org.osmdroid.views.overlay.Marker等)。您可以完全删除osmbonuspack依赖项,因为您提供的代码不需要它
您必须更改磁贴源的构造:
(但请记住,openstreetmap瓷砖有a usage policy。)
最后一点注意:标记的常见问题是,当您在MarkerClickListener上设置自定义时,默认实现不会被调用。您需要通过调用marker从侦听器打开marker窗口。showInfoWindow()。但这不是你的问题