0

MapViewの上にマーカーを表示するためにOverlayItemsのリストを含むItemizedOverlayを使用しています。私の問題は、OverlayItemがオーバーレイに定義されたデフォルトのマーカーを使用する場合、そのgetMarker()メソッドがnullを返すことです。そのマーカー画像を取得する別の方法はありますか?onTap()でアニメーション化できるかどうかを確認したいと思います。

マップ上にたくさんのマーカーを表示していますが、その多くは同じ画像を使用しているため、メモリを節約するためにオーバーレイのデフォルトの画像を使用するのが最善だと思いました。このアプリでは、特定のオーバーレイに対して100を超えるマーカーが表示される可能性があります。

4

1 に答える 1

0

これに対処する方法はいくつかあります。私が知っている最も単純なものを示しています。それでも問題が解決しない場合は、お知らせください。

public class MyItemizedNewOverlay extends ItemizedOverlay<OverlayNewItem> {

    private ArrayList<OverlayNewItem> myOverlays ;
    Drawable defaultMarker;
    Context context;


    public MyItemizedNewOverlay(Drawable defaultMarker, Context context) {
        super(boundCenterBottom(defaultMarker));
        this.defaultMarker = defaultMarker;
        this.context = context;
        myOverlays = new ArrayList<OverlayNewItem>();
        populate();
    }
   . . .      
}

これにより、onTap()のコードでデフォルトのマーカーを使用できます。

于 2012-06-21T15:18:46.890 に答える