我一直在关注NooYawk MapView示例并取得了相当的成功。我已经根据一些系统更新消息替换了硬编码的地理位置和描述。发生新更新时,添加新标记就可以了。问题是当问题解决时,标记不会消失。
我很高兴在按下刷新按钮时删除所有标记,因为它们会被重新添加。
有什么想法吗?
以下有点消毒。
private class SitesOverlay extends ItemizedOverlay<OverlayItem> {
private List<OverlayItem> items=new ArrayList<OverlayItem>();
private Drawable marker=null;
public SitesOverlay(Drawable marker) {
super(marker);
this.marker=marker;
try {
data = getData();
} catch (MalformedURLException e) {
//
}
if (!data.equals("")) {
// process data
for (Integer i = 0; i < outages.length; i++) {
items.add(new OverlayItem(
getPoint(lat, lng, headerMsg, bodyMsg));
}
}
populate();
}
@Override
protected OverlayItem createItem(int i) {
return(items.get(i));
}
@Override
public void draw(Canvas canvas, MapView mapView,
boolean shadow) {
super.draw(canvas, mapView, false);
boundCenterBottom(marker);
}
@Override
protected boolean onTap(int i) {
Toast.makeText(getBaseContext(),
items.get(i).getSnippet(),
Toast.LENGTH_LONG).show();
return(true);
}
@Override
public int size() {
return(items.size());
}
}
答案 0 :(得分:4)
点击刷新按钮点击mapview.getOverlays().clear();
然后在地图中启动推针,添加叠加后,您应该mapview.postinvalidate()