
Leaflet
文章平均质量分 93
Leaflet技术文章
GIS兵器库
这个作者很懒,什么都没留下…
展开
-
支持Canvas的Leaflet.Path.DashFlow动态流向线
通过对leaflet以及其插件的学习,我们了解到使用Leaflet.Path.DashFlow插件可实现轨迹动态展示、管道流向动态展示、河流流向动态展示等,达到增强可视化展示的效果。该插件使用方式非常简单,只需在正常添加线的时候,加入dashArray和dashSpeed参数即可。核心代码如下:注意,在dashSpeed为负时,线是正向流动。效果如下:但是在使用的过程中,发现该插件有个弊端,就是当使用Canvas方式绘制地图(初始化地图preferCanvas参数为true)时,动态效果不可用原创 2020-11-10 17:19:11 · 2437 阅读 · 1 评论 -
leaflet中如何通过透明度控制layerGroup的显示隐藏
最近在leaflet开发过程中,遇到地图数据需要按时序播放的需求,处理思路是将每个时间节点的要素添加到layerGroup中,然后通过切换layerGroup的显示隐藏来实现效果。翻看leaflet的API文档,发现leaflet中没有直接控制layerGroup显示隐藏的方法,那如何来实现layerGroup的显示和隐藏呢?通常有如下两种思路:第一种,通过map.addLayer()、map.removeLayer()添加、移除图层组的方式来实现,当数据量较小,并且不需要频繁切换图层显示隐藏时,使用这原创 2020-10-22 18:09:59 · 3150 阅读 · 0 评论 -
H5时代leaflet中还在用DivIcon?
前段时间写了篇《leaflet如何加载10万数据》的文章,有同学反应其中的Canvas-Markers插件不支持DivIcon。我们今天就来聊一聊,为什么这个插件不支持DivIcon,以及如何用H5的Canvas特性,做出以前用DivIcon才能实现的 标签 和 文字标注 功能。老规矩,先上效果图:标签功能文字标注功能为什么不支持DivIconCanvas-Markers插件的创作目的是为了解决,大批量数据展示的性能问题,它通过使用H5中Canvas的绘图方式绘制Marker,提升了展示性能。原创 2020-11-25 12:05:26 · 2597 阅读 · 7 评论 -
leaflet如何优雅的展示重叠点位的气泡窗口
话不多说,先上效果:效果一:效果二:在平时工作中,经常遇到这种问题,两个或者多个点位完全重合了,鼠标无法点击到被遮盖的点位,从而无法查看其气泡信息。之前看到有些同学的处理方式是,直接修改点位坐标,让点位不再重合,从而可以点击到每个点位。在此我们暂不评论此方式是否可取。今天我们从另外两个维度来讨论,如何解决此问题。方案一 PopupListLayer:此方案的处理方式是,点击时获取与该点位重合的所有点位,然后整合需要在气泡中展示的内容,添加切换功能,达到切换展示所有气泡信息的效果核心代码如原创 2020-12-10 17:19:01 · 2613 阅读 · 5 评论 -
leaflet中如何优雅的解决百度、高德地图的偏移问题
话不多说,先上效果图以前在做项目时,经常会听到客户说,你们这个地图是哪来的,太丑了,能不能换成百度地图……高德也行……大家生活中,基本上都已经习惯了使用百度地图和高德地图,而在做项目时,用这两个地图做为底图,也基本成为了标配。但在开发中使用这两个地图,会遇到一个拦路虎,坐标偏移问题。全球现在用的最多的坐标,是wgs84坐标,专业GPS设备和手机GPS定位得到的坐标,通常都是这个坐标。我们国家为了保密需要,要求在国内发布的互联网地图,必须要在这个基础上进行加密偏移。加密后的坐标叫做国测局坐标,俗称火星原创 2020-09-24 17:23:21 · 8574 阅读 · 11 评论 -
leaflet如何加载10万条数据
作为一名GIS开发者,你工作中一定遇到过这种问题,根据业务设计,需要在地图上添加1万+条数据,数据或是点、或是线、或是面。但不管哪种,当你添加到5000条时,地图操作就会出现明显的卡顿。当你添加超过1万条时,数据加载就会卡顿,浏览器出现卡死的状态,地图加载后,每挪动一下地图,都要耐心的等待上几秒钟。这种交互体验,用户是肯定接受不了的,解决方法通常分两种,一种是去做深入的用户需求分析,看用户想一次性加载这么多数据是为了看什么,想看的这个东西,通过其它技术方式能不能实现。另一种就是死磕技术,研究如何提升地图性原创 2020-11-13 12:09:40 · 7212 阅读 · 30 评论 -
Leaflet 带箭头轨迹以及沿轨迹带方向的动态marker
前面写了篇文章,mapboxgl实现带箭头轨迹线,介绍了如何基于mapboxgl实现类似高德地图导航轨迹效果。下图是我基于leaflet实现的效果。接下来分享一下在我基于leaflet实现该效果时一些思路以及踩到的坑。轨迹线添加箭头效果leaflet无法像mapboxgl似的直接通过样式实现轨迹箭头效果,需要通过引用L.polylineDecorator扩展实现。核心代码如下。注意:此处添加箭头图层应在轨迹线和实时轨迹线之后,不然箭头会被覆盖。沿轨迹线带方向动态marker实现该效果首先想原创 2021-03-02 17:35:10 · 8379 阅读 · 62 评论