Geometry Library

encoding 命名空间

google.maps.geometry.encoding 命名空间

折线编码和解码实用工具

通过调用 const {encoding} = await google.maps.importLibrary("geometry") 进行访问。请参阅 Maps JavaScript API 中的库

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

spherical 命名空间

google.maps.geometry.spherical 命名空间

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

通过调用 const {spherical} = await google.maps.importLibrary("geometry") 进行访问。请参阅 Maps JavaScript API 中的库

computeArea
computeArea(path[, radiusOfSphere])
返回值number
返回闭合路径的无符号面积,范围为 [0, 2×pi×radius2]。计算面积的单位与半径相同。radiusOfSphere 默认为地球半径(以米为单位),在这种情况下,面积以平方米为单位。传递 Circle 需要将 radius 设置为非负值。此外,圆形所覆盖的球面区域不得超过 100%。传递 LatLngBounds 时,南的 LatLng 不得比北部的 LatLng 更北。
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 命名空间

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

通过调用 const {poly} = await google.maps.importLibrary("geometry") 进行访问。请参阅 Maps JavaScript API 中的库

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