Geometry Library

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

編碼命名空間

google.maps.geometry.encoding 命名空間

折線編碼及解碼的公用程式。

必須提供 &libraries=geometry 網址參數。請參閱 Maps JavaScript API 中的程式庫

decodePath
decodePath(encodedPath)
參數:
  • encodedPathstring
傳回值:Array<LatLng>
將編碼路徑字串解碼為 LatLngs 序數。
encodePath
encodePath(path)
傳回值:string
將 LatLngs 的序數編碼為編碼路徑字串。

spherical 命名空間

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
傳回兩條經緯度之間的距離 (單位為公尺)。您可以視需求指定自訂半徑。半徑會預設為地球的半徑。
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 度。