and*_*ndy 6 android location google-maps overlay itemizedoverlay
我正在开发一个基于位置的Android应用程序,它处理大量的叠加项目.
背景: 我想在地图上显示很多实体.实体的坐标随着位置的变化而实时变化.对应于更新的位置,实体应在地图上更新.实体可以增长到很多.
实施 我有两个叠加.一个用于显示用户位置的MyLocationOverlay,另一个用于显示我需要在地图上显示的所有实体的ItemizedOverlay子类.
问题 每当实体的位置发生变化时,都需要更新相应的重叠项.问题是我不确定哪种方法是最好的方法.我有这些选择
当我收到特定实体的位置时,我会从地图中删除所有叠加层并重新添加叠加层.现在使用更新的位置创建其中一个叠加层.
List<Overlay> overlays = map.getOverlays();
overlays.removeAll(overlays);
overlays.add(new MyOverlay(marker,this));
Run Code Online (Sandbox Code Playgroud)我为每个实体创建了一个叠加层.意思是我将创建500个叠加层,每个叠加层只包含一个叠加层项目.我创建了一个Overlay类的子类,并添加了我自己的属性来清楚地标识实体并为每个实体创建一个.当我到达特定实体的位置更新时,我迭代并获取特定的覆盖项,删除它并添加一个具有更新位置的新项.
我不知道哪个是最好的使用性能.
当实体数量超过500或1000时,我觉得删除所有并重新添加每个单个实体的每个单一位置更新(可能经常)的所有叠加都会成为相当大的开销.
同时,迭代相同数量的实体也可能是相同的开销.
任何可供选择的建议或更好的实施方法都将受到赞赏.
/安迪
| 归档时间: |
|
| 查看次数: |
824 次 |
| 最近记录: |