leaflet量测插件leaflet-measure-simplify

本文介绍了leaflet-measure-simplify,一个易于使用的轻量级Leaflet测量插件,支持ESM和UMD方式安装。提供了详细的使用示例和配置选项,包括颜色、线条宽度等设置以及实例方法如距离、面积和坐标测量。

抽空开发一个leaflet量测工具库,比较轻量化,傻瓜式调用,已上传至npm,欢迎使用。
点个star

leaflet-measure-simplify


一个轻量化leaflet的测量插件,或者你也可以关闭量测结果显示,它将成为一个绘制工具。

使用

安装

npm install leaflet-measure-simplify

ESM

import LeafletMeasureSimplify from "leaflet-measure-simplify";
import "leaflet-measure-simplify/dist/leaflet-measure-simplify.css";

UMD

<link rel="stylesheet" href="leaflet-measure-simplify/dist/leaflet-measure-simplify.css">
<script src="leaflet-measure-simplify/dist/leaflet-measure-simplify.umd.cjs"></script>

Example

let measureTools = new LeafletMeasureSimplify(map,{ 
	weight:3, 
	color:"red", 
	//... 
}); 
measureTools.distance().then(path=>{ 
	console.log(path)//绘制完成后将返回路径 
})

类参数

参数名类型默认值说明
mapObjectleaflet地图对象
optionsObject见下表 options选项配置选项

options选项

属性名类型默认值说明
colorString#039bec主题色
weightNumber3线条宽度
showTipBooleantrue是否显示操作提示
showResultBooleantrue是否显示测量结果
unitDistanceStringkilometer距离测量单位(kilometer:千米/metre:米)
unitAreaStringkilometer面积测量单位(kilometer:平方千米/metre:平方米)
precisionDistanceNumber2距离测量精度
precisionAreaNumber2面积测量精度
precisionCoordNumber6经纬度测量精度
tipLanguageObjectzh-CN语言(zh-CN:中文/en-US:英文)
customTipObject-自定义操作提示 例如:{“step1”:“单击开始绘制”,“step2”:“单机继续绘制”,“step3”:“右键单击结束绘制”}

实例方法

方法名返回值说明
distancePromise距离测量|Function(path)
areaPromise坐标测量|Function(path)
coordPromise坐标测量|Function(coord)
close-关闭已经开始的测量
clear-清除测量结果
文档中未直接提及 leaflet-measureleaflet-measure-path 的相关信息,但从一般性的 Leaflet 插件知识出发可以进行分析。 ### 对比 - **功能侧重点**:leaflet-measure 通常是一个通用的工具,可能既支持线的(距离)也支持面的(面积),适用于多种场景。而 leaflet-measure-path 从名称推,可能更侧重于路径(线)的,在路径的功能上可能会更加精细和专业。 - **使用场景**:如果需要对地图上的多种图形(线、面等)进行leaflet-measure 会更合适;如果主要是对路径进行leaflet-measure-path 可能是更好的选择。 ### 功能 - **leaflet-measure**:可以提供距离和面积的功能,允许用户在地图上绘制线和面来获取相应的值,可能还具备一些辅助功能,如单位切换等。 - **leaflet-measure-path**:专注于路径,可能会提供更准确的路径距离,可能还会有一些与路径相关的高级功能,如路径平滑处理等。 ### 使用方法 一般来说,使用 Leaflet 插件的步骤如下: 1. **引入插件文件**:从插件的官方源或 CDN 引入相应的 JavaScript 和 CSS 文件。 ```html <!-- 示例,假设 leaflet-measure 的引入 --> <script src="path/to/leaflet-measure.js"></script> <link rel="stylesheet" href="path/to/leaflet-measure.css"> ``` 2. **初始化插件**:在创建 Leaflet 地图实例后,初始化插件。 ```javascript // 假设使用 leaflet-measure var map = L.map('map').setView([51.505, -0.09], 13); L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors', maxZoom: 18 }).addTo(map); // 初始化 leaflet-measure var measureControl = L.control.measure().addTo(map); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子禾丶

请作者吃个喔喔奶糖

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值