Geometry Library

encoding 命名空間

google.maps.geometry.encoding 命名空間

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

呼叫 const {encoding} = await google.maps.importLibrary("geometry") 即可存取。請參閱 Maps JavaScript API 中的程式庫

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

spherical 命名空間

google.maps.geometry.spherical 命名空間

計算測地線角度、距離及面積的公用程式函式。預設半徑為 6378137 公尺的地球半徑。

呼叫 const {spherical} = await google.maps.importLibrary("geometry") 即可存取。請參閱 Maps JavaScript API 中的程式庫

computeArea
computeArea(path[, radiusOfSphere])
傳回值:  number
傳回封閉路徑的無正負號區域,範圍在 [0, 2×pi×radi2] 範圍內。計算出的區域使用與半徑相同的單位。radiusOfSphere 預設為地球的半徑 (以公尺為單位),在這種情況下,該區域是以平方公尺為單位。傳遞 Circle 時,必須將 radius 設為非負值。此外,圓形不得覆蓋超過 100% 的球體。傳遞 LatLngBounds 時,南緯 值不能比北天的北方更北方。
computeDistanceBetween
computeDistanceBetween(from, to[, radius])
參數: 
傳回值:  number
傳回兩個 LatLngs 之間的距離 (以公尺為單位)。您可以視需要指定自訂半徑。半徑預設為地球的半徑。
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
傳回起點位置 (如有提供經緯度目的地、行駛公尺和原始方向)。方向以從北順時針角度表示。沒有可用的解決方案時,這個函式會傳回 null
computeSignedArea
computeSignedArea(loop[, radius])
參數: 
傳回值:  number
傳回封閉路徑的標示區域 (逆時針方向為正,範圍為 [-2×pi×半徑 2, 2×pi×]。2])。計算出的區域使用與半徑相同的單位。半徑預設為地球的半徑 (以公尺為單位),在這種情況下,該區域是以平方公尺為單位。

這個區域是使用平行傳輸方法計算;單位球體上封閉路徑周圍的平行運輸,還有一個與路徑周圍區域相等的角度旋轉。比起對角線使用 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 度。