安卓高德地图开发java如何调用js自定义图层

安卓高德地图开发java如何调用js自定义图层,第1张

1、创建一个自定义图层实例或获取canvas实例varcanvas等于documentcreateElement(canvas)或将canvas宽高设置为地图实例的宽高。

2、为自定义图层添加渲染方法自定义图层的render方法即用户自定义的图层绘制方式。

解决方法:

1、打开高德地图,看到定位标识小头像,点击右上角的图层选项。

2、点击地图最下面的,地图设置选项。

3、在最后一栏,找到定位标使用头像选项,点击右边的滑块关闭小圆点即可去掉。

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

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

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

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

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

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

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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11856973.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存