网站首页 > 资源文章 正文
前面写了篇文章,mapboxgl实现带箭头轨迹线,介绍了如何基于mapboxgl实现类似高德地图导航轨迹效果。
近期有基于Leaflet实现轨迹回放的需求,于是研究了下如何基于leaflet来实现。
下图是我基于leaflet实现的效果。
接下来分享一下在我基于leaflet实现该效果时一些思路以及踩到的坑。
轨迹线添加箭头效果
leaflet无法像mapboxgl似的直接通过样式实现轨迹箭头效果,需要通过引用L.polylineDecorator扩展实现。核心代码如下。
注意:此处添加箭头图层应在轨迹线和实时轨迹线之后,不然箭头会被覆盖。
沿轨迹线带方向动态marker
实现该效果首先想到的是类似之前在用mapboxgl 实现的思路,将线打断,然后通过requestAnimationFrame循环更新marker的位置和角度实现;这种方式最终可以实现动态效果,但是流畅度差了一些,会有卡顿的现象。
为了得到更流畅的效果,又翻看Leaflet Plugins,搜索animate关键字,发现了Leaflet.AnimatedMarker,动画效果挺流畅的,于是拉取代码研究了一下。
该插件主要是使用CSS3动画来实现marker在线段间的移动,所以效果比较流畅。
但是该插件并未考虑marker角度的问题,而且在做地图缩放的时候会有marker偏移轨迹的问题。查找相关资料时,发现有人也尝试解决此问题leaflet-moving-marker。
但这里对于轨迹线的动态绘制并未考虑。
参考Leaflet.AnimatedMarker、leaflet-moving-marker中核心代码并考虑我们要实现的效果,最终解决了角度问题以及轨迹线动态绘制问题。
另外,在播放过程中当前后两个点位角度变化超过180度时,会出现marker旋转的问题。
通过如下代码我们解决了此问题。
我们把代码重新封装,简单调用即可实现了文章开头的轨迹带箭头以及沿轨迹线带方向的动态marker。
注意:在动态播放的过程中缩放地图,标记点由于播放延迟,有时仍然会出现偏离轨迹线的问题,目前该问题暂未解决,后续解决后更新。
总结
- 使用用L.polylineDecorator插件可以实现轨迹带箭头效果。
- Leaflet.AnimatedMarker插件可以更流畅的实现marker沿线播放,但是没有考虑marker角度和轨迹线的动态绘制。
- 参考Leaflet.AnimatedMarker、leaflet-moving-marker中核心代码,解决角度问题以及轨迹线动态绘制等问题。
- 将代码重新封装成插件,方便调用。
在线示例
在线示例:http://gisarmory.xyz/blog/index.html?demo=LeafletRouteAnimate
示例代码地址:http://gisarmory.xyz/blog/index.html?source=LeafletRouteAnimate
插件地址:http://gisarmory.xyz/blog/index.html?source=LeafletAnimatedMarker
关注《GIS兵器库》, 第一时》, 第一时间获得更多高质量GIS文章。
- 上一篇: 这个工具可以组合参数画出2种单细胞Marker显示图
- 下一篇: 血管相关细胞类型单细胞测序数据库分享
猜你喜欢
- 2024-10-10 绿联40Gbps 雷电3数据线深度拆解,线芯多到离谱,怪不得速度飞起
- 2024-10-10 Vol.57|腾讯带你梦回大唐,跟随Marker漫游系统走进未来的家
- 2024-10-10 Freemarker基本指令语法和集合指令语法
- 2024-10-10 血管相关细胞类型单细胞测序数据库分享
- 2024-10-10 E-Marker芯片,USB数据线的“性能中枢”?
- 2024-10-10 这个工具可以组合参数画出2种单细胞Marker显示图
- 2024-10-10 流式课堂 | 流式配色基本原则(流式细胞配色技巧)
- 2024-10-10 全球23种地面无人战车(2031年全球无人地面车辆市场)
- 2024-10-10 有趣的图形:用Python绘制带饼图的散点图兼论marker的隐藏功能
- 2024-10-10 单细胞数据marker基因小提琴图绘制
你 发表评论:
欢迎- 最近发表
-
- 涨知识!电脑键盘上F1到F12的正确用法,你都会用吗?
- Win10《邮件》应用0x80070032错误:已发送邮件不同步
- 微软邮件服务系统出现大规模收发错误 预计24小时内修复
- Outlook365邮箱崩溃,备份邮箱,配置邮箱,还原数据
- Outlook服务瘫痪故障加重 微软遭遇的网络问题开始影响全球用户
- outlook邮箱报错:无法打开此文件夹集合pst文件错误
- 微软确认新版Windows Outlook支持在无互联网的情况下运行
- 用户隐私成隐忧,欧盟封锁微软 Outlook App
- 微软承认 Outlook 存在问题,会导致Exchange Online邮箱配置错误
- 如何在 Outlook 中撤回电子邮件(outlook怎么撤回邮箱)
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)