2、为自定义图层添加渲染方法自定义图层的render方法即用户自定义的图层绘制方式。
解决方法:1、打开高德地图,看到定位标识小头像,点击右上角的图层选项。
2、点击地图最下面的,地图设置选项。
3、在最后一栏,找到定位标使用头像选项,点击右边的滑块关闭小圆点即可去掉。
自定义图标太多,超过1000个就很卡。观感也不好。
高德地图提供的方案 (一)MassMarks
MassMarks 这个方案是将所有覆盖物绘制在一张整图层上,缩放和平移时候就用css3的transform,tranlate等去做了,还能利用系统硬件加速,效率是极高。但是覆盖物的事件就变成图层整的事件了,监听图层事件,然后自己再甄别,下发到具体覆盖物上。
普通的覆盖物是各个独立的,每个都是一个小图层,有自己的事件,但是无法应付大数量。
(二)第二个方案是聚合 MarkerClusterer
聚合的思路跟上面又不同了,上面是效率不行就想办法提高性能。但是覆盖物过多,特别是在地图缩放很小的情况下,缩成一团的观看问题就解决不了了。而MarkerClusterer的思路是当地图缩放的时候,重合在一起的覆盖物我给你合并了,可以写数字等等来表示,提供完全自由的自定义渲染函数。
在我们公司现在的应用场景下,第二个比较合适。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)