GMSGeometryUtils

GMSGeometryUtils

類別

結構體GMSMapPoint
 地圖上的一個位置。更多...

Typedefs

typedef 結構GMSMapPointGMSMapPoint
 地圖上的一個位置。

函式

GMSMapPointGMSProject (CLLocationCoordinate2D 座標)
 專案 coordinate 指向地圖。
CLLocationCoordinate2DGMSUnproject (GMSMapPoint 點)
 地圖上的未專案 point
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a、GMSMapPoint b、雙 t)
 根據 a 的分數 t,傳回區段 [a, b] 的線性內插點。
DoubleGMSMapPointDistance (GMSMapPoint a、GMSMapPoint b)
 傳回投放空間中的區段 [a, b] 長度。
BOOLGMSGeometryContainsLocation (CLLocationCoordinate2D 點,GMSPath *路徑、BOOL 測地線)
 傳回 point 是否位於路徑內。
BOOLGMSGeometryIsLocationOnPathTolerance (CLLocationCoordinate2D 點,GMSPath *path、BOOL 測地線、CLLocationDistance 容忍度)
 傳回 point 是否位於指定的 tolerance (以公尺為單位) 或 path 附近。
BOOLGMSGeometryIsLocationOnPath (CLLocationCoordinate2D 點,GMSPath *path、BOOL 測地線)
 與 GMSGeometryIsLocationOnPath(point, 路徑, 測地線, 容忍度) 相同,預設值為 0.1 公尺。
CLLocationDistanceGMSGeometryDistance (CLLocationCoordinate2D 從 CLLocationCoordinate2D 到)
 傳回地球上兩個座標 (以公尺為單位) 之間的大圓距離。
CLLocationDistanceGMSGeometryLength (GMSPath *路徑)
 傳回地球上 path 的大圓長度 (以公尺為單位)。
DoubleGMSGeometryArea (GMSPath *路徑)
 傳回 Google 地球中 path 定義的測地線多邊形面積。
DoubleGMSGeometrySignedArea (GMSPath *路徑)
 傳回由 Google 地球 path 定義的測地線多邊形的正負號面積。
CLLocationDirectionGMSGeometryHeading (CLLocationCoordinate2D 從 CLLocationCoordinate2D 開始)
 傳回位於 to 最短路徑 from 的初始方向 (北順時針角度)。
CLLocationCoordinate2DGMSGeometryOffset (CLLocationCoordinate2D 來源,CLLocationDistance 距離,CLLocationDirection 方向)
 from 起點為 heading 時,在地球上沿著大圓弧線移動 distance 公尺時,傳回目的地座標。
CLLocationCoordinate2DGMSGeometryInterpolate (CLLocationCoordinate2D 從 CLLocationCoordinate2D 到,雙小數)
 傳回在兩者之間最短路徑 fromto 座標之間指定 fraction 之間的座標。
NSArray< GMSStyleSpan * > * GMSStyleSpans (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind)
 傳回 GMSStyleSpan 的 NSArray,由 pathlengths 重複套用樣式和長度資訊,所建構而成。styles
NSArray< GMSStyleSpan * > * GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind、Double lengthOffset) 發揮,
 與 GMSStyleSpans(路徑、樣式、長度、lengthKind) 類似,但會另外進行初始長度偏移,針對相對於 lengths 陣列而略過。

Typedef 說明文件

typedef 結構GMSMapPoint GMSMapPoint

地圖上的一個位置。

可能代表投影座標。

x 位於 [-1, 1]。軸方向正常:y 向北逐漸增加,x 向東方向成長。(0, 0) 是地圖的中心。

請參閱GMSProject()GMSUnproject()


函式說明文件

GMSMapPoint GMSProject ( CLLocationCoordinate2D 座標)

專案 coordinate 指向地圖。

coordinate 必須有效。

CLLocationCoordinate2D GMSUnproject ( GMSMapPoint )

地圖上的未專案 point

Point.x 必須是 [-1, 1]。

根據 a 的分數 t,傳回區段 [a, b] 的線性內插點。

t==0 對應 at==1 對應 b

內插地點會在可能橫跨日期線上的短時間內進行內插。舉例來說,從舊金山到東京的內插廣告會跨越夏威夷北部,同時跨越夏威夷州。

傳回投放空間中的區段 [a, b] 長度。

計算長度時,會沿著兩點之間的短路徑計算,可能跨越日期。舉例來說,與舊金山和東京相關的點之間的距離,測量的是夏威夷北部橫跨日期線上的線段。

BOOL GMSGeometryContainsLocation ( CLLocationCoordinate2D point
GMSPath path
BOOL 測地線
)

傳回 point 是否位於路徑內。

無論最後一個點是否等於第一個點,路徑一律視為封閉。

內幕定義不包含南極,南極一律位於外。

如果 geodesic 為「是」,則 path 描述了大圓段,否則請使用 rhumb (loxodromic) 線段。

如果 point 等於其中一個頂點,則結果為 YES。不等於端點的點位於任何路徑線的一側或另一側,永遠不可能「在邊界上」。

如需容忍的邊框測試,請參閱GMSGeometryIsLocationOnPath()

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D point
GMSPath path
BOOL 測地線
CLLocationDistance 容忍
)

傳回 point 是否位於指定的 tolerance (以公尺為單位) 或 path 附近。

如果 geodesic 為「是」,則 path 會包含大圓段;如果 geodesic 為「否」,則包含 rhumb (loxodromic) 線段。

另請參閱 GMSGeometryIsLocationOnPath(point, 路徑, 測地線)。

容忍度 (以公尺為單位) 是相對於地球的球面半徑。如果您需要在不同半徑的球體上進行訓練,可以用 RadiusEarth ==6371009,計算半徑 R: tolerance=toleranceR * (RadiusEarth / R) 球體上取得的容忍度。

BOOL GMSGeometryIsLocationOnPath ( CLLocationCoordinate2D point
GMSPath path
BOOL 測地線
)

與 GMSGeometryIsLocationOnPath(point, 路徑, 測地線, 容忍度) 相同,預設值為 0.1 公尺。

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D from
CLLocationCoordinate2D
)

傳回地球上兩個座標 (以公尺為單位) 之間的大圓距離。

這是球體上兩個座標之間的最短距離。

兩個座標都必須有效。

CLLocationDistance GMSGeometryLength ( GMSPath 路徑)

傳回地球上 path 的大圓長度 (以公尺為單位)。

此為路徑路段上的GMSGeometryDistance() 總和。

路徑的所有座標都必須有效。

雙精度GMSGeometryArea ( GMSPath 路徑)

傳回 Google 地球中 path 定義的測地線多邊形面積。

多邊形的「內」定義為不含南極。

如果 path 未關閉,它會隱含視為封閉路徑,而結果會是相同的。

路徑的所有座標都必須有效。

多邊形應簡單 (不得自行重疊) 且可以彎曲。

如果路徑的任一區段為一對對抗點,則結果不會定義,因為在球體上,兩個對角點並未形成一個獨特的大圓線。

雙精度GMSGeometrySignedArea ( GMSPath 路徑)

傳回由 Google 地球 path 定義的測地線多邊形的正負號面積。

結果的絕對值與GMSGeometryArea() 相同;如果路徑點是逆時針順序,則為正數,否則為負數。

遇到與GMSGeometryArea()相同的限制。

CLLocationDirection GMSGeometryHeading ( CLLocationCoordinate2D from
CLLocationCoordinate2D
)

傳回位於 to 最短路徑 from 的初始方向 (北順時針角度)。

傳回的值在 [0, 360] 範圍內。

如果兩個座標相同,就會傳回 0。

兩個座標都必須有效。

如要取得 to 的最終方向,可以使用 (GMSGeometryHeading(to, from) + 180) modulo 360。

CLLocationCoordinate2D GMSGeometryOffset ( CLLocationCoordinate2D from
CLLocationDistance distance
CLLocationDirection heading
)

from 起點為 heading 時,在地球上沿著大圓弧線移動 distance 公尺時,傳回目的地座標。

產生的經度在 [-180, 180] 的範圍內。

兩個座標都必須有效。

CLLocationCoordinate2D GMSGeometryInterpolate ( CLLocationCoordinate2D from
CLLocationCoordinate2D to
Double fraction
)

傳回在兩者之間最短路徑 fromto 座標之間指定 fraction 之間的座標。

產生的經度在 [-180, 180] 的範圍內。

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath path
NSArray< GMSStrokeStyle * > *  樣式
NSArray< NSNumber * > *  lengths
GMSLengthKind lengthKind
)

傳回 GMSStyleSpan 的 NSArray,由 pathlengths 重複套用樣式和長度資訊,所建構而成。styles

path 是用於計算輸出 Span 的路徑。styles GMSStrokeStyle 的 NSArray。如果已使用,則會截斷。不得留空。lengths 是 NSNumber 的 NSArray;每個項目都會提供 styles 中對應樣式的長度。如果已使用,則會截斷。不得留空。lengthKindlengths 解譯的值 (測地性、rhumb 或預測)。

範例:具有交替黑白跨度的折線:

 GMSMutablePath *path;
 NSArray *styles = @[[GMSStrokeStyle solidColor:[UIColor whiteColor]],
                     [GMSStrokeStyle solidColor:[UIColor blackColor]]];
 NSArray *lengths = @[@100000, @50000];
 polyline.path = path;
 polyline.spans = GMSStyleSpans(path, styles, lengths, kGMSLengthRhumb);
 
NSArray<GMSStyleSpan *>* GMSStyleSpansOffset ( GMSPath path
NSArray< GMSStrokeStyle * > *  樣式
NSArray< NSNumber * > *  lengths
GMSLengthKind lengthKind
Double lengthOffset
)

與 GMSStyleSpans(路徑、樣式、長度、lengthKind) 類似,但會另外進行初始長度偏移,針對相對於 lengths 陣列而略過。

lengthOffsetlengths 開始時應略過的長度 (例如公尺)。