高德地图上绘制海量自定义覆盖物方案

自定义图标太多,超过1000个就很卡。观感也不好。

高德地图提供的方案 (一)MassMarks

MassMarks 这个方案是将所有覆盖物绘制在一张整图层上,缩放和平移时候就用css3的transform,tranlate等去做了,还能利用系统硬件加速,效率是极高。但是覆盖物的事件就变成图层整的事件了,监听图层事件,然后自己再甄别,下发到具体覆盖物上。 

普通的覆盖物是各个独立的,每个都是一个小图层,有自己的事件,但是无法应付大数量。


(二)第二个方案是聚合 MarkerClusterer

聚合的思路跟上面又不同了,上面是效率不行就想办法提高性能。但是覆盖物过多,特别是在地图缩放很小的情况下,缩成一团的观看问题就解决不了了。而MarkerClusterer的思路是当地图缩放的时候,重合在一起的覆盖物我给你合并了,可以写数字等等来表示,提供完全自由的自定义渲染函数。

在我们公司现在的应用场景下,第二个比较合适。

你可能感兴趣的:(高德地图上绘制海量自定义覆盖物方案)