【问题标题】:Get the map overlay marker icon during onTap在 onTap 期间获取地图覆盖标记图标
【发布时间】:2012-04-25 00:15:37
【问题描述】:

我正在使用包含 OverlayItems 列表的 ItemizedOverlay 在 MapView 顶部显示标记。我的问题是,当 OverlayItem 使用为覆盖定义的默认标记时,它的 getMarker() 方法返回 null。还有其他方法可以获得该标记图像吗?我想看看是否可以在 onTap() 期间对其进行动画处理。

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

【问题讨论】:

    标签: android


    【解决方案1】:

    您有几种不同的方法来解决这个问题。我正在展示我所知道的最简单的一个,如果它不能解决您的问题,请告诉我。

    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() 使用默认标记

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-20
      • 2020-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      相关资源
      最近更新 更多