转载请注明出处:https://www.cnblogs.com/Joanna-Yan/p/9896180.html 
需求:设备传回服务器的轨迹点,需要在web地图上显示。包括画坐标点覆盖物、轨迹路线图。当数据量达到一定量时,界面出现卡顿。问题出现几天前端人员都未解决。
第一反应,大量的覆盖物肯定不能直接添加在地图上。每一个地图对象或者图层能添加的覆盖物对象都是有限的,资源也是有限的。
能否通过创建多个图层去画覆盖物,同时根据地图的缩放级别来动态添加和减少覆盖物的数量。
好了,研究高德地图api。
1.首先找到一个海量点展示组建PointSimplifier。可以在地图上展示数量为十万以内的点并且性能表现较好,这点正好符合我们的需求。
它实际上是由海量点组成的一个地图图层,这点符合前面我们说的解决思路。
2.找到一个轨迹展示组建PathSimplifier 。同理上。
既然两个组建都可以支持大量数据,并且自动创建图层,那么我们完全可以把PointSimplifier和PathSimplifier通过图层叠加起来使用,分别实现我们的画点和画轨迹的需求。
先看效果图:
模拟上万点,地图随意缩放、移动不会出现卡顿问题。性能表现良好。
简单示例代码如下,自行根据需要优化:
复制代码
    
    
    
    
    动态改样式
    
    
    
    
    
    
复制代码
如果此文对您有帮助,微信打赏我一下吧~
 
作者:Joanna.Yan
出处:http://www.cnblogs.com/Joanna-Yan/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。https://www.cnblogs.com/Joanna-Yan/p/9896180.html