使用osmdroid显示多个信息窗口



我想显示多个标记信息窗口来标记不同的路线。 但是,仅显示上次创建的那个。

我的(相关(标记创建代码是:-

if (routes.size() < 3) {
Polyline roadOverlay = new Polyline();
roadOverlay.setColor(polyClr.get(routes.size()));
roadOverlay.setWidth(5f);
roadOverlay.setPoints(waypoints);
//  Add Route Marker
Marker m = new Marker(map);
double d = roadOverlay.getDistance()*5/8000;
GeoPoint midpt = waypoints.get((int)(waypoints.size()/2));
m.setTitle(rteDesc.get(routes.size())+" - "+String.format("%.2f miles",d));
m.setSnippet("Tap to Save");
m.setIcon(getResources().getDrawable(R.drawable.transparent));
m.setPosition(midpt);
m.showInfoWindow();
rtemkrs.add(m);
routes.add(roadOverlay);
}

显示代码为:-

for (int j = rtemkrs.size()-1; j>=0; j--) {
map.getOverlays().add(rtemkrs.get(j));
}
map.invalidate();

我正在使用 osmdroid v 6.1.0 和 osmbonuspack v 6.6.0

如何显示多个标记信息窗口?

默认情况下,所有标记都使用一个共享视图作为其信息窗口。因此,只能显示一个视图。

但可以改变行为:

  • 您需要为每个标记创建一个MarkerInfoWindow实例,例如,这是他如何创建默认标记的:new MarkerInfoWindow(R.layout.bonuspack_bubble, mMapView);
  • 您必须通过为每个标记调用marker.setInfoWindow(...)(请参阅方法的javadoc(将视图传递给标记

相关内容

  • 没有找到相关文章

最新更新