このチュートリアルに従って、少し異なるものを作成しました。このチュートリアルでは、事前定義されたアイテムが挿入されたオーバーレイがどのように機能するかを示しましたが、アイテムを動的に追加したい場合はどうすればよいですか? 次に、空のオーバーレイから開始する必要があります。
それ以外の :
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
List<Overlay> mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.androidmarker);
ItemOverlay itemizedoverlay = new ItemOverlay(drawable, this);
GeoPoint point = new GeoPoint(19240000,-99120000);
OverlayItem overlayitem = new OverlayItem(point, "Hola, Mundo!", "I'm in Mexico City!");
itemizedoverlay.addOverlay(overlayitem);
mapOverlays.add(itemizedoverlay);
これはチュートリアルで期待したとおりに機能します。これを配置する必要があります。
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
List<Overlay> mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.androidmarker);
ItemOverlay itemizedoverlay = new ItemOverlay(drawable, this);
mapOverlays.add(itemizedoverlay);
アイテムによるオーバーレイの初期化を省略します。
このアプローチはマップのスタックにつながり、数回タップした後、null 例外が原因でアプリが追い出されます。
1.これは予想される動作ですか? それは私にはバグのようです...
2.期待される動作を実現するにはどうすればよいですか?(空のオーバーレイから始めて、項目を動的に追加できます)
そして、私が達成したいのは、アイテムでオーバーレイを開始するのではなく、addOverlayを動的に使用することです。このようにして、