2012-04-25 16 views
0

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

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

答えて

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()のために、あなたのコード内でデフォルトのマーカーを使用することができます

関連する問題