私は自分のMapViewにいくつかのマーカーを追加しました:MapViewでマーカーを更新するにはどうすればよいですか?
List<Overlay> mapOverlays;
Drawable drawable;
MapOverlay itemizedOverlay;
mapOverlays = mapView.getOverlays();
drawable = this.getResources().getDrawable(R.drawable.map_dot_green);
itemizedOverlay = new MapOverlay(drawable, mapView);
GeoPoint markerPoint = new GeoPoint(lat, lng);
OverlayItem overlayItem = new OverlayItem(markerPoint, "name", "description");
itemizedOverlay.addOverlay(overlayItem);
mapOverlays.add(itemizedOverlay);
は今、私は彼らのために定期的マーカー(drawables
)を変更する必要があります。私はこのためにRunnable
を使用する予定です。しかし、私はどのようにマーカーを置き換えることができますか?
Upd。
public class Map extends MapActivity {
private MapOverlay itemizedOverlay;
private MapView mapView;
private Runnable mUpdateMapMarkers = new Runnable() {
public void run() {
Drawable drawable_green = getResources().getDrawable(R.drawable.map_dot_green);
int w = drawable_green.getIntrinsicWidth();
int h = drawable_green.getIntrinsicHeight();
drawable_green.setBounds(-w/2, -h, w/2, 0);
for (int i = 0; i < itemizedOverlay.size(); i++) {
itemizedOverlay.getItem(i).setMarker(drawable_green);
}
mapView.invalidate();
mHandler.postDelayed(mUpdateMapMarkers, 5*60*1000); // once in 5 minutes
}
};
どのように実現しましたか? http://pastie.org/10232768ここでコードは、マップビューのラインを更新しません – Erum