单击按钮时不显示Osmdroid标记

时间:2014-01-22 19:04:39

标签: java android osmdroid

我在这里遇到了一些问题。我使用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中使用此片段,则可以正常添加所有标记。如果我在主屏幕上的按钮的单击处理程序中使用此代码,则它不起作用。程序继续运行没有任何问题,但不显示标记。实现此处理程序是因为其他指令工作正常。问题仅在于显示标记。有人知道什么是错的吗?

1 个答案:

答案 0 :(得分:0)

添加标记和下一个

mapView.invalidate();