Geometry Library

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

编码命名空间

google.maps.geometry.encoding命名空间

折线编码和解码实用工具

需要提供 &libraries=geometry 网址参数。请参阅 Maps JavaScript API 中的库

decodePath
decodePath(encodedPath)
参数
  • encodedPathstring
返回值Array<LatLng>
用于将编码路径字符串解码为一系列 LatLng。
encodePath
encodePath(path)
返回值string
用于将一系列 LatLng 编码为编码路径字符串。

球形命名空间

google.maps.geometry.spherical命名空间

用于计算测地线角度、距离和面积的实用函数。默认半径为地球半径(即 6378137 米)。

需要提供 &libraries=geometry 网址参数。请参阅 Maps JavaScript API 中的库

computeArea
computeArea(path[, radius])
参数
返回值number
返回闭合路径的无符号区域,范围为 [0, -2×pi×radius2]。计算区域与半径的单位相同。半径默认为以米为单位的地球半径,在这种情况下,面积以平方米为单位。
computeDistanceBetween
computeDistanceBetween(from, to[, radius])
参数
返回值number
返回两个 LatLng 之间的距离(以米为单位)。您可以选择指定自定义半径。半径默认为地球的半径。
computeHeading
computeHeading(from, to)
参数
返回值number
用于返回从一个 LatLng 到另一个 LatLng 的航向。方位以 [-180,180] 范围内自北方所呈顺时针角度来表示。
computeLength
computeLength(path[, radius])
参数
返回值number
返回给定路径的长度。
computeOffset
computeOffset(from, distance, heading[, radius])
参数
返回值LatLng
用于返回与指定的方向中的起点移动一定距离后所得到的 LatLng (以与北方所呈顺时针角度来表示)。
computeOffsetOrigin
computeOffsetOrigin(to, distance, heading[, radius])
参数
返回值LatLng|null
用于返回出发地(如果提供了 LatLng 目的地、行驶的米数和原始航向)。方位以与北方所呈顺时针角度来表示。如果没有可用的解决方案,此函数会返回 null
computeSignedArea
computeSignedArea(loop[, radius])
参数
返回值number
返回 [-2×pi×radius2, 2×pi×radius2] 范围内的闭合路径的带符号区域,其中逆时针值是正数。计算区域所用的半径范围与单位相同。半径默认为以米为单位的地球半径,在这种情况下,面积以平方米为单位。

面积使用平行传输方法计算;单位球面上封闭路径的平行传输以与路径封闭面积相等的角度扭转。与使用 Girard、l'Huilier 或 Eriksson 在每个三角形上的三角测量相比,这种方法更简单、更准确、更可靠。特别要指出的是,由于多边形不会三角化,除非在多边形的边缘(而非对角线)跨越 180 度,不可避免的情况才不会出现不稳定。
interpolate
interpolate(from, to, fraction)
参数
返回值LatLng
用于返回 LatLng,位于源 LatLng 与目标 LatLng 之间的给定比例。

poly 命名空间

google.maps.geometry.poly命名空间

用于涉及多边形和多段线的计算的实用函数。

需要提供 &libraries=geometry 网址参数。请参阅 Maps JavaScript API 中的库

containsLocation
containsLocation(point, polygon)
参数
返回值boolean
用于计算指定点是否位于指定多边形之内。
isLocationOnEdge
isLocationOnEdge(point, poly[, tolerance])
参数
返回值boolean
用于计算指定点是位于指定多段线的多段线或多边形边缘之上或附近。如果所提供点的纬度和经度上边缘的差值小于公差,则返回 true。公差默认为 10-9 度。