GMSGeometryUtils

GMSGeometryUtils

等級

結構體GMSMapPoint
 地圖上有一個點。更多...

Typedefs

typedef struct GMSMapPointGMSMapPoint
 地圖上有一個點。

函式

GMSMapPointGMSProject (CLLocationCoordinate2D 座標)
 對地圖的專案 coordinate
CLLocationCoordinate2DGMSUnproject (GMSMapPoint 點)
 從對應取消專案 point
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a、GMSMapPoint b、Double t)
 在從 a 的小數點 t 傳回區段 [a, b] 的線性內插點。
雙精準數GMSMapPointDistance (GMSMapPoint a,GMSMapPoint b)
 傳回投影空間中的區段 [a, b] 長度。
BOOLGMSGeometryContainsLocation (CLLocationCoordinate2D 點、GMSPath *path、BOOL 測地)
 傳回 point 是否位於路徑內。
BOOLGMSGeometryIsLocationOnPathTolerance (CLLocationCoordinate2D 點、GMSPath *path、BOOL geodesic, CLLocationDistance tolerance)
 傳回 point 是否在 path 的指定 tolerance 內,以公尺為單位。
BOOLGMSGeometryIsLocationOnPath (CLLocationCoordinate2D 點、GMSPath *path、BOOL 測地)
 與 GMSGeometryIsLocationOnPath(point, path, geodesic, Tolerance) 相同,預設容忍度為 0.1 公尺。
CLLocationDistanceGMSGeometryDistance (CLLocationCoordinate2D 從 CLLocationCoordinate2D )
 傳回地球上兩個座標 (以公尺為單位) 之間的大圓距離。
CLLocationDistanceGMSGeometryLength (GMSPath *path)
 傳回地球上的 path 正圓形長度 (以公尺為單位)。
雙精準數GMSGeometryArea (GMSPath *path)
 傳回由 path 在地球定義的測地多邊形面積。
雙精準數GMSGeometrySignedArea (GMSPath *路徑)
 傳回由 path 在地球定義的測地多邊形的標示區域。
CLLocationDirectionGMSGeometryHeading (CLLocationCoordinate2D 從 CLLocationCoordinate2D )
 to 最短路徑的 from 內,傳回初始方向 (以北方為順時針方向)。
CLLocationCoordinate2DGMSGeometryOffset (CLLocationCoordinate2D 從 CLLocationDistance 距離,CLLocationDirection 方向)
 from 開始 (初始 heading),在地球上沿著大圓弧線行駛 distance 公尺時,傳回目的地座標。
CLLocationCoordinate2DGMSGeometryInterpolate (CLLocationCoordinate2D 從 CLLocationCoordinate2D 變更為,雙分)
 傳回在兩者之間最短路徑上 fromto 座標之間指定 fraction 的座標。
NSArray&lt;GMSStyleSpan * >。GMSStyleSpans (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths、GMSLengthKindLengthKind)
 傳回 NSArray 的GMSStyleSpan ,是由 styleslengths (沿著 path) 的重複套用樣式和長度資訊所建構。
NSArray&lt;GMSStyleSpan * >。GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths、GMSLengthKindLengthKind、DoubleLengthOffset)
 與 GMSStyleSpans(path, style、Lengths、lengthKind) 類似,但會另外取得初始長度偏移,這會在相對於 lengths 陣列的位置略過。

Typedef 說明文件

typedef struct 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 為 YES,path 就代表適當的圓形區段,如果不是的話,則使用韻律 (loxodromic) 表示。

如果 point 與其中一個頂點完全相同,結果為 YES。某個點不等於任何路徑區隔的其中一側,不得不等於 邊框」。

請參閱GMSGeometryIsLocationOnPath(),瞭解具有容忍度的邊界測試。

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D point
GMSPath * path
BOOL geodesic
CLLocationDistance 容忍度
)

傳回 point 是否在 path 的指定 tolerance 內,以公尺為單位。

如果 geodesic 為 YES,path 就會由大圓圈區隔組成;如果 geodesic 為「否」,則是由韻律 (loxodromic) 區隔帶出。

另請參閱 GMSGeometryIsLocationOnPath(point, path, geodesic)。

寬容度 (以公尺為單位) 與地球的球面半徑有關。如果您需要繪製不同半徑的球體,請用 RadiusEarth ==6371009,計算半徑 為 R: tolerance=toleranceR * (RadiusEarth / R) 所需容忍度的等容詞。

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

與 GMSGeometryIsLocationOnPath(point, path, geodesic, Tolerance) 相同,預設容忍度為 0.1 公尺。

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D from
CLLocationCoordinate2D
)

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

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

兩個座標都必須有效。

CLLocationDistance GMSGeometryLength ( GMSPath * 路徑)

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

這是路徑段上的總和GMSGeometryDistance()

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

雙人GMSGeometryArea ( GMSPath * 路徑)

傳回由 path 在地球定義的測地多邊形面積。

「內部」的多邊形定義為未包含南極。

如果 path 未關閉,系統會一律將其視為封閉路徑,因此結果相同。

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

多邊形必須簡單 (不得自行重疊),且可能有斜體。

如果路徑中有任何區段是一對反對點點,則結果將未定義,因為兩個抗支點無法在球體上形成獨特的圓角。

雙人GMSGeometrySignedArea ( GMSPath * 路徑)

傳回由 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 標題
)

from 開始 (初始 heading),在地球上沿著大圓弧線行駛 distance 公尺時,傳回目的地座標。

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

兩個座標都必須有效。

CLLocationCoordinate2D GMSGeometryInterpolate ( CLLocationCoordinate2D from
CLLocationCoordinate2D 收件者
雙精準數 比例
)

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

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

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath * path
NSArray&lt;GMSStrokeStyle * >。 styles
NSArray&lt;NSNumber * >。 lengths
GMSLengthKind lengthKind
)

傳回 NSArray 的GMSStyleSpan ,是由 styleslengths (沿著 path) 的重複套用樣式和長度資訊所建構。

path 是計算輸出時距的路徑。styles 一個 NSArray 的 GMSStrokeStyle。如果已使用,就會納入。欄位不得留空。lengths 是 NSNumber 的 NSArray;每個項目都提供來自 styles 對應樣式的長度。如果已使用,就會納入。欄位不得留空。lengthKind:從 lengths 解讀的值 (測地線、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&lt;GMSStrokeStyle * >。 styles
NSArray&lt;NSNumber * >。 lengths
GMSLengthKind lengthKind,
雙精準數 lengthOffset
)

與 GMSStyleSpans(path, style、Lengths、lengthKind) 類似,但會另外取得初始長度偏移,這會在相對於 lengths 陣列的位置略過。

lengthOffset 一開始應從 lengths 略過的長度,例如以公尺為單位。