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×radius²]。計算的面積會使用與半徑相同的單位。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×π×半徑², 2×π×半徑²]。計算的面積會使用與半徑相同的單位。半徑預設為地球半徑 (以公尺為單位),面積則以平方公尺為單位。

系統會使用平行運送方法計算面積;在單位球體上,沿著封閉路徑的平行運送扭曲角度等於路徑所包圍的面積。相較於在每個三角形上使用 Girard、l'Huilier 或 Eriksson 進行三角測量,這項方法更簡單、更準確且更可靠。特別是,由於這項方法不會進行三角測量,因此不會發生不穩定的情況,除非多邊形的 (不是對角線) 跨越 180 度,這在所難免。
interpolate
interpolate(from, to, fraction)
參數: 
傳回值:  LatLng
傳回 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 度。