开发 地图 JS API 2.0 进阶教程 几何计算 距离、长度、面积

距离、长度、面积 最后更新时间: 2024年01月10日

JS API 提供了空间数据计算的函数库AMap.GeometryUtil,可以帮助计算点线面的距离、长度、面积等。

本文介绍常用的数学计算方法,包括:

计算两点间的实际距离

AMap.GeometryUtil.distance

计算点到线段的最短距离

AMap.GeometryUtil.distanceToSegment

计算点到路径的最短距离

AMap.GeometryUtil.distanceToLine

计算路径的实际长度

AMap.GeometryUtil.distanceOfLine

计算封闭区域的面积

AMap.GeometryUtil.ringArea

计算两点间距离示例

1、使用说明

1.1 计算两点间的实际距离

当需要计算两个点间的实际地面距离时,可以使用静态方法AMap.GeometryUtil.distance,返回的数据以米为单位。

var p1 = [116.434027, 39.941037];
var p2 = [116.461665, 39.941564];
//返回 p1 到 p2 间的地面距离,单位:米
var dis = AMap.GeometryUtil.distance(p1, p2);

1.2 计算点到线段的最短距离

当需要计算某一点到线段的最短地面距离时,可以使用静态方法 AMap.GeometryUtil.distanceToSegment,返回的数据以米为单位。

var p0 = [116.450378, 39.947585];
var p1 = [116.434027, 39.941037];
var p2 = [116.461665, 39.941564];
//返回 p0 到线段 p1-p2 的最短地面距离,单位:米
var dis = AMap.GeometryUtil.distanceToSegment(p0, p1, p2);

1.3 计算点到路径的最短距离

当需要计算某一点到一段路径的最短地面距离时,可以使用静态方法 AMap.GeometryUtil.distanceToLine,返回的数据以米为单位。该方法与上条的区别在于该方法支持多点组成的线段

var p0 = [116.450378, 39.947585];
var p1 = [116.434027, 39.941037];
var p2 = [116.461665, 39.941564];
var p3 = [116.466171, 39.937977];
//返回 p0 到线段 p1-p2-p3 的最短地面距离,单位:米
var dis = AMap.GeometryUtil.distanceToSegment(p0, [p1, p2, p3]);

1.4 计算路径的实际长度

当需要计算某段路径的实际长度时,可以使用静态方法 AMap.GeometryUtil.distanceOfLine,返回的数据以米为单位。

var p0 = [116.450378, 39.947585];
var p1 = [116.434027, 39.941037];
var p2 = [116.461665, 39.941564];
//返回线段 p0-p1-p2 的实际长度,单位:米
var dis = AMap.GeometryUtil.distanceOfLine([p0, p1, p2]);

1.5 计算封闭区域的面积

当需要计算指定路径围成的闭合区域面积时,可以使用静态方法 AMap.GeometryUtil.ringArea,返回的数据以平方米为单位。

var p0 = [116.450378, 39.947585];
var p1 = [116.434027, 39.941037];
var p2 = [116.461665, 39.941564];
//返回点 p0-p1-p2 围成的闭合区域面积,单位:平方米
var area = AMap.GeometryUtil.ringArea([p0, p1, p2]);
返回顶部 示例中心 常见问题 智能客服 公众号
二维码