Geometry Library

encode 命名空間

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×radius2]。計算範圍使用的半徑與半徑相同。radiusOfSphere 會預設為地球的半徑 (單位為公尺),此時區域是平方公尺。如要傳遞 Circle,必須將 radius 設為非負值。此外,社交圈的覆蓋範圍不可超過 100%。傳遞 LatLngBounds 時,南方 LatLng 的方度不能大於北方 LatLng。
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
傳回從指定標題從起點移動距離的距離 (以北方順時針角度表示)。
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 度。