ItemizedOverlay
私のアプリケーションには の 2 つのインスタンスがあり、1 つはCurrentLocation
別のもの用です。これらの 2 つのオーバーレイを に追加しましたMapView
。
CurrentLocation
マップの更新ボタンが押されたときにオーバーレイを更新したい。もしそうなら、それは以前の現在の場所も表示し、新しい場所も表示することを意味します。前のものを削除するにはどうすればよいですか?
しかし、別のオーバーレイも表示する必要があります。
私はサブクラス化しましたItemizedOverlay
:
MyItemizedOverlay currentOverlay = new MyItemizedOverlay(pushPinDrawable);
MyItemizedOverlay anotherOverlay = new MyItemizedOverlay(drawable);
更新ボタンのコード:
if (currentGeo != null) {
mapView.getOverlays().remove(currentOverlay);
mapVite();
mapOverlays = mapView.getOverlays();
myLocationOverlay = new OverlayItem(currentGeo, "My Location", mapTime.format(new Date(myLocationTime)));
// (currentGeo is the updated current geo point.)
currentOverlay.addOverlay(myLocationOverlay);
mapOverlays.add(currentOverlay);
mapController.animateTo(currentGeo);
} else {
Toast.makeText(this, "Your Current Location is temporarily unavailable", Toast.LENGTH_LONG).show();
}
何か案が?