我在这里遇到了一些问题。我使用osmdroid来显示地图,我需要一些功能,如添加地图标记和绘制标记之间的路径。
要在地图上添加标记,请使用此说明
// Global declaration
ArrayList<OverlayItem> world_overlay;
ItemizedIconOverlay<OverlayItem> world_items;
MapController citymap_controller;
// this code is in function
world_overlay = new ArrayList<OverlayItem>();
for(int i = 0; i < States.length; ++i)
{
GeoPoint cur_geo = new GeoPoint(latitude[i], longtitude[i]);
OverlayItem cur_item = new OverlayItem(States[i], States[i], cur_geo);
world_overlay.add(cur_item);
}
world_items = new ItemizedIconOverlay<OverlayItem>(this, world_overlay, null);
mapView.getOverlays().add(world_items);
但我有些奇怪的事情。如果我在函数onCreate中使用此片段,则可以正常添加所有标记。如果我在主屏幕上的按钮的单击处理程序中使用此代码,则它不起作用。程序继续运行没有任何问题,但不显示标记。实现此处理程序是因为其他指令工作正常。问题仅在于显示标记。有人知道什么是错的吗?
答案 0 :(得分:0)
添加标记和下一个
mapView.invalidate();