NPM 包 geolib 使用教程

阅读时长 7 分钟读完

geolib 是一款基于 JavaScript 的距离计算库,可以在前端开发中方便地计算地理位置距离、定位等常用操作。本文将介绍如何使用 geolib 进行地理计算,包括安装、基本使用方法和常用 API。

安装

使用 geolib 需要先安装 Node.js 环境,并使用 NPM 包管理器安装 geolib。在终端中执行如下命令即可安装:

基本使用

使用 geolib 前需要先导入库文件:

获取两点之间的距离

geolib 中最常用的功能就是计算两点之间的距离。接受两个对象参数,包含 latitude 和 longitude 属性,分别表示维度和经度。

检查点是否在多边形中

可以使用 geolib 中的 isPointInPolygon 方法检查一个点是否在多边形中。接受两个参数,一个是需要检查的点对象,另一个是一组构成多边形的点坐标对象数组。

-- -------------------- ---- -------
----- ----- - - --------- ---------- ---------- --------- --
----- ------- - -
  - --------- ---------- ---------- --------- --
  - --------- ---------- ---------- --------- --
  - --------- ---------- ---------- --------- --
  - --------- ---------- ---------- --------- -
--

----- -------- - --------------------------- ---------

---------------- ----- -- ---------- - -------- - ---------- --- ----------

计算两点之间的方位角

可以使用 getRhumbLineBearing 方法计算两点之间的方位角,即从一个点出发朝向另一个点的方向。接受两个参数,分别是两个点坐标对象。

计算两点之间的中心点坐标和中心点距离

可以使用 getCenter 方法计算一组点坐标的中心点坐标和中心点距离。接受一个参数,即包含多组点坐标对象的数组。

-- -------------------- ---- -------
----- ------ - -
  - --------- ---------- ---------- --------- --
  - --------- ---------- ---------- --------- --
  - --------- ---------- ---------- --------- --
  - --------- ---------- ---------- --------- -
--

----- ------ - -------------------------

---------------- ------ -- ------ -- -------------------
 ------------------- --- --- -------- -- -- -- ------------------ ---------

API

除以上介绍的方法外,geolib 还提供了许多其它常用的 API,如下表所示:

API 描述
getDistance(start, end) 获取两点之间的距离
convertDistance(distance, fromUnit) 距离单位转换
getRhumbLineBearing(start, end) 获取顺航路径的方位角
getRhumbLineDistance(start, end) 获取顺航路径的距离
getCompassDirection(from, to, bearing) 获取罗盘方向
getSpeed(start, end) 获取两点间的速度
orderByDistance(point, positions) 根据距离对点坐标数组排序
findNearest(point, positions, limit) 查找距离某点最近的点坐标数组
getBounds(points) 根据一组点坐标对象获取其包围框
isPointInside(point, polygon) 检查点是否在多边形内部
isPointInCircle(point, center, radius) 检查点是否在圆形内部
isPointInLine(point, start, end) 检查点是否在直线路径上
isPointNearLine(point, start, end, tol) 检查点是否在直线路径周围的一定距离范围内
getArcDistance(start, end) 计算两点之间的大圆弧距离(球面距离)
getGreatCircleBearing(start, end) 计算从一个点出发,沿着大圆弧到达另一个点的方位角
getRhumbLineBearing(start, end) 计算从一个点出发,朝向另一个点方向的顺航路径的方位角

结语

以上是关于 geolib 的使用介绍,每个 API 都包含以上三个常见操作,代表了 geolib 的基本用法。通过 geolib 提供的 API,开发者可以轻松实现很多常用的地理位置计算。

示例代码已上传至 GitHub:https://github.com/GPT2022/geolib_tutorial ,欢迎大家进行学习和交流。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64692

纠错
反馈