首页 / Leaflet / 使用示例
测距
点击落点连成折线,每段距离与总长同时显示,双击结束,支持撤销与重新测量。
源码与运行效果
说明
距离用 LatLng.distanceTo 计算,底层是球面余弦公式,单位米。
每段中点放一个永久 tooltip 显示该段长度,总长写在工具栏,
点数变化时先清掉旧 tooltip 再重建,避免标签越积越多。
| 操作 | 行为 |
|---|---|
| 点击地图 | 追加测量点,折线与分段标签更新 |
| 双击 | 去掉重复末端点后结束测量,隐藏顶点标记 |
| 撤销 | 删除最后一个点并重算,只在未结束时可用 |
| 结束 | 保留折线与标签,锁定本次测量 |
| 重新测量 | 清空全部点、线与标签 |
顶点用 8 像素的 divIcon,不参与鼠标事件。
地图设置 doubleClickZoom: false,否则双击结束的同时还会放大一级。
球面距离在几百公里内与椭球体结果的差异很小,跨洲量算会累积到千分之几。 测量结果用于展示足够,用于结算或报批应在服务端用投影坐标计算。