在onTap期间获取地图叠加标记图标

时间:2012-04-25 00:15:37

标签: android

我使用包含OverlayItems列表的ItemizedOverlay在MapView顶部显示标记。我的问题是,当OverlayItem使用为叠加层定义的默认标记时,其getMarker()方法返回null。还有另一种方法可以获得该标记图像吗?我想看看我是否可以在onTap()期间为它设置动画。

我在地图上显示了一堆标记,其中许多使用相同的图像,因此我认为最好使用叠加层的默认图像来节省内存。对于这个应用程序,可能会有超过100个标记显示给定的叠加层。

1 个答案:

答案 0 :(得分: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()

中的默认标记