使用工厂模式封装高德地图轨迹功能

930 阅读1分钟

场景:

因公司业务需求,需要开发高德地图轨迹回放、动态轨迹以及Marker(小车移动动画)等功能,又因为在很久之前我已经利用vue开发过这些功能,当时虽然使用了Mixin进行业务抽离,但并没有觉得封装的太好总体还是依赖于vue去开发轨迹上的功能,而且把很多轨迹中需要实例化的操作放在了业务层,导致功能上的解耦性、后边的复用性以及代码的阅读性不是很强,这才有了这个使用原生JS去通过工厂模式封装整个高德地图上的功能的想法,开发者只需要关注自己页面上的业务就行,而且此插件并不限于vue或者react等框架,具体实现思路以及概览如下,望各位看官不喜勿喷哈。。 (目前只是封装了第一版本,后续还有更精彩的我还会继续更新文章的~)

安装方式为 npm install kc-tracks

 插件git地址为 github.com/spiritJun/T…

 demo的git地址为 github.com/spiritJun/t…

使用原生JS 封装包括高德地图中 

 1.异步加载高德地图以及初始化地图类--InitMap :juejin.cn/post/692654… 

 2.封装绘制轨迹类--WriteHistoryLine  :juejin.cn/post/692654…

 3.轨迹动画类 --TrackReplay :juejin.cn/post/692692…

 4.将上诉模块封装工厂类以及进行require.context导入等:juejin.cn/post/692693…

 5.支持动态绘制轨迹路线以及暂停回放功能:juejin.cn/post/692693…

6.整个工厂模式实现高德地图轨迹遗留下的问题:juejin.cn/post/692694…

 demo效果如下(数据来源于未纠偏的经纬度坐标以及时间角度等)