Leaflet十大常用功能合集
本篇文章主要介绍基于leaflet开源地图组件开发的地图搭建,包含热力图、Geojson轨迹、marker、动画、用户标记侧栏、测量工具、搜索框、经纬线显示等功能。
本文中的代码都是经过测试无误的,关于依赖包均可在github上找到源文件,主要就是依赖导入和函数调用两部分,为了简洁,json数据一般外部导入,路径正确即可。
底图导入
地图的导入分在线和离线,在线直接调提供瓦片服务的url即可,离线请参考我的另一文章:基于leaflet的离线瓦片发布方式总结 代码如下:
1 |
|
功能一:热力图
依赖包:
1 | <script src="./js/leaflet-heat.js"></script> |
heatpoint数据文件:
1 | var heatpoint = [ |
1 | //---------------------------------------------增加热力图 lat, lng, intensity |

功能二:GeoJson轨迹
GeoJson数据格式:这里我采用的是对不同轨迹上不同颜色,对原始版本进行了修改。
轨迹构成面:
数据这里省略了
1 | var states= [{ |
轨迹线:
1 | var states= [{ |
外部导入数据:
1 | <script type="text/javascript" src="./json/geoJson.js"></script> |
调用:
1 |
|
功能三:marker
1 | var icon = new L.icon({iconUrl: './css/images/fig.svg', |
功能四:轨迹动画(从A->B)
1 | <!-- 动画轨迹js --> |
调用多个动画效果:
1 | // ---------------------------------------------geo的动画 L.Marker.movingMarker------------------------------------- |
功能五:轨迹动画(轨迹自身动画)
依赖:
1 | <!-- 导入动画效果DashFlow --> |
调用:
1 | / ---------------------------------------------添加动画效果DashFlow |
功能六:用户标注侧栏

1 | <!-- 导入画图组件的依赖 --> |
调用:
1 | //---------------------------------------------增加右侧用户画图toolbar |
功能七:测量工具(m/nm/mi)
导入依赖:
1 | <!-- 测量工具 Leaflet.PolylineMeasure--> |
1 | // ---------------------------------------------测量工具Leaflet.PolylineMeasure |

功能八:经纬度显示
1 | // --------------------------------------------绘制经纬度网格线 Specify divisions every 10 degrees |

功能九:中心坐标显示
依赖:
1 | <!-- 坐标显示 中心坐标 底部显示 --> |
调用:
1 | // ---------------------------------------------添加屏幕中心坐标的底部显示 |

功能十:仿谷歌搜索框
依赖:
1 | <!-- 搜索框 谷歌风格 --> |
调用:
1 | var searchboxControl=createSearchboxControl(); |
这里的搜索框提供了一个模板,可根据自己需求修改函数、按钮等
功能十一:搜索框的自动补全
采用jquery的input框自动补全组件
依赖:
1 | <!-- 搜索框补全功能jquery --> |
这里用jquery组件来绑定searchboxinput(上一个谷歌搜索框),导入的数据采用数组形式即可。
调用:
1 | // ----------------------------------------------搜索框自动补全 jquery---------------------- |
