首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Leaflet源码解析
吃个西瓜
创建于2022-12-23
订阅专栏
Leaflet源码解析,在源码中添加注释,辅助阅读
等 21 人订阅
共15篇文章
创建于2022-12-23
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Leaflet源码解析系列(一):基础介绍
leaflet 是一个轻量化的 Web 端地图插件,gzip压缩后只有42KB的 JS 和4KB的 CSS 文件(代码量也在逐年增加啊,记得以前更小😄)。上手使用较为简单,而且性能也不错。兼容性很好
Leaflet源码解析系列(二):对象继承和事件机制
L.Class用来新建一个新的类或者扩展已有的类,为Leaflet 提供了OOP能力,几乎所有的leaflet对象都是从class创建的。
Leaflet源码解析系列(三):Geometry 类型解读
Geometry中的类没有继承自Class,定义了基础的数据类型对象,包括 Point、bounds、LineUtil、PolyUtil 和 Transformation。
Leaflet源码解析系列(四):Geo 对象解读
Geo类主要是定义了一些基础的地理对象,例如 Latlng、LatlngBounds,以及地图投影和坐标系。
Leaflet源码解析系列(五):Control 对象解读
Control是添加在地图上的小组件,leaflet内置了图层管理器、比例尺、缩放控件和地图属性展示控件这四个。用户可以继承Control来扩展自己的小组件。
Leaflet源码解析系列(六-1):Map 对象解读
Map.js 这个文件代码行数比较多,是 Leaflet API 的核心类, 用来创建一个地图对象,并进行地图操控。
Leaflet源码解析系列(六-2):Map 对象解读——设置 Map 的配置项
map 的配置项 options 设置了地图的默认属性, Map.js中的配置项只是一部分,Leaflet的其他对象,比如Popup、Control.Zoom,通过Map.mergeOptions扩展
Leaflet源码解析系列(六-3):Map 对象解读——初始化 Dom 容器
leaflet 在初始化的时候会生成根节点 DOM 元素,根节点下面是map和control的 DOM 元素,这些元素的默认初始位置都是浏览器左上角(0,0)。
Leaflet源码解析系列(六-4):Map 对象解读——设置 map state 的方法
map 的 state 主要是指和 map 视野相关的参数,例如 zoom、scale、center、bounds等,以下是修改和获取这些参数的方法源码解析。
Leaflet源码解析系列(六-5):Map 对象解读——获取 map state 的方法
map 的 state 主要是指和 map 视野相关的参数,例如 zoom、scale、center、bounds等,以下是获取这些参数的方法源码解析。
Leaflet源码解析系列(六-6):Map 对象解读——处理地图状态改变的动画和事件
地图的交互动画是很重要的一部分,优化了map中要素位置、大小改变时候的效果,保证了地图操作的平滑性。 Leaflet 里的动画主要是通过 css 的 transform 来实现的。
Leaflet源码解析系列(六-7):Map 对象解读——简单 DOM 事件
注册了键盘、鼠标和手势交互事件在地图上的响应方法,这些事件只是原始的dom事件,与拖拽、拉框这种组合 dom 事件有差别。
Leaflet源码解析系列(六-8):Map 对象解读——复杂交互事件
addHandler是向 map 注册各种交互事件的方法,每一个交互事件都会在通过 Class.addInitHook 向map的构造函数加addHandler钩子,map初始化的时候就会执行钩子函数
Leaflet源码解析系列(六-9):Map 对象解读——其他方法
在修改或者设置 map state 的时候,为了处理视野变化、动画效果通常会涉及地理坐标、投影坐标、屏幕坐标三个坐标系之间的转换。
Leaflet源码解析系列(七):Layer 对象解读
Layer是 leaflet api 使用中接触最多的对象,各种数据都是通过 layer 来展示的,比如最基础的瓦片底图、点、线、面矢量图层等。