中删除itemizedOverlay我想实现的是有2种显示在地图上标记。onLocationChanged
1),显示从数据库引出事件红色标记(做过 - itemizedOverlay)
2)橙标记物将动态地图(itemizedOverlay2)上显示用户的位置。
我使用ItemizedOverlay具有2个不同的层(一个用于事件和一个用于用户位置),但是我有与动态标记表示用户位置的问题。
问题:
会发生什么事是LocationListener的成功获取纬度/经度和地点的地图,但以前的点仍然存在上的点。所以我有一些显示用户位置的标记。
我已经实施了一些方法,我发现通过互联网搜索,但没有一个onLocationChanged的通话过程中发生的。
class myLocationListener implements LocationListener{
OverlayItem overlayItem;
@Override
public void onLocationChanged(Location location) {
if (location != null){
mapOverlays.remove(itemizedOverlay2);
mapView.invalidate();
lat = location.getLatitude();
longi = location.getLongitude();
GeoPoint point = new GeoPoint((int) (lat * 1E6), (int) (longi * 1E6));
mControl.animateTo(point);
overlayItem = new OverlayItem(point, "My Location", "This is probably where you are");
itemizedOverlay2.addOverlay(overlayItem);
mapOverlays.add(itemizedOverlay2);
}
}
我知道你可能需要更多的代码,但让我们留在这个块,看看有人看到我错了。
谢谢。
此链接可能对你有用:安卓MapView无法删除标记](http://stackoverflow.com/a/4634287/3577656)。 – Rajal 2014-08-12 11:56:22