Android 是否可以在地图视图中使用个性化pin显示600个POI,而不会减慢地图速度?

Android 是否可以在地图视图中使用个性化pin显示600个POI,而不会减慢地图速度?,android,overlay,android-mapview,itemizedoverlay,Android,Overlay,Android Mapview,Itemizedoverlay,我有一个地图视图,上面有600个poi,每个poi都显示相同的PIN 当同时显示600个POI时,地图的移动非常缓慢 是否可以在不减慢地图移动的情况下显示所有地图 这是我代码的一部分: 我的管脚位图: Bitmap marker= ResourceManager.getImageResourceByName(pinId).getBitmapOfWidth((int) (App.getWidth()*0.14)); d = new BitmapDra

我有一个地图视图,上面有600个poi,每个poi都显示相同的PIN

当同时显示600个POI时,地图的移动非常缓慢

是否可以在不减慢地图移动的情况下显示所有地图

这是我代码的一部分:

我的管脚位图:

Bitmap marker= ResourceManager.getImageResourceByName(pinId).getBitmapOfWidth((int) (App.getWidth()*0.14));
                        d = new BitmapDrawable(marker);
                        d.setBounds(0 - d.getIntrinsicWidth() / 2, 0 - d.getIntrinsicHeight(), d.getIntrinsicWidth() / 2, 0);
如何添加覆盖(我在异步任务中的一段时间内完成此操作):


显示如此多的管脚将始终减慢地图速度。我在一个iOS应用程序中遇到了一个类似的问题,我发现最好的办法是想出一种方法,在更高的缩放级别上对管脚进行聚类,并具有在给定的缩放级别上显示给定视口管脚的功能

看看一些层次聚类算法——我的解决方案涉及每当pin数据更新时运行聚类算法(在我的例子中并不经常)。聚类算法获取所有管脚的位置,并为我支持的
N
缩放级别生成
N
组聚类管脚。每个
N
聚集点集都有一个最小和最大的缩放级别,因此当地图以特定的比例缩放时,应用程序将从相关的缩放级别请求该视口的相关PIN。结果证明,这非常有效-执行这些计算所涉及的工作比显示数据集中的每个管脚(并将其转换为当前视口/缩放级别)所涉及的工作要少得多

恐怕我无法提供任何代码,但这绝对是我找到的在地图上显示大量PIN的最佳方法。对用户来说,它的外观和感觉都要好得多

this.itemizedOverlay.addOverlay(values[0]);