GMSGeometryUtils

GMSGeometryUtils

クラス

構造体GMSMapPoint
 地図上の地点。その他...

Typedef

typedef 構造体 GMSMapPointGMSMapPoint
 地図上の地点。

関数

GMSMapPointGMSProject(CLLocation 座標 2D 座標)
 マップに coordinate を投影します。
CLLocationColab2DGMSUnprojectGMSMapPoint ポイント)
 地図から point のプロジェクトを解除します。
GMSMapPointGMSMapPointInterpolateGMSMapPoint a、GMSMapPoint b、double t)
 a からの分数 t で、セグメント [a, b] 上に線形補間された点を返します。
倍精度GMSMapPointDistanceGMSMapPoint a、GMSMapPoint b)
 投影空間における線分 [a, b] の長さを返します。
BOOL GMSGeometryContainsLocation(CLLocationUTC2D ポイント、GMSPath *path、BOOL 測地線)
 point がパス内にあるかどうかを返します。
BOOL GMSGeometryIsLocationOnPathTolerance(CLLocationUTC2D ポイント、GMSPath *path、BOOL 測地線、CLLocationDistance の許容値)
 pointpath またはその付近にある、指定された tolerance メートルの範囲内にあるかどうかを返します。
BOOL GMSGeometryIsLocationOnPath(CLLocationUTC2D ポイント、GMSPath *path、BOOL 測地線)
 GMSGeometryIsLocationOnPath(ポイント、パス、測地線、許容差)と同じです。デフォルトの許容値は 0.1 メートルです。
CLLocationDistanceGMSGeometryDistance(CLLocationGeocoding2D から、CLLocationKML2D まで)
 地球上の 2 つの座標間の大円距離をメートル単位で返します。
CLLocationDistanceGMSGeometryLengthGMSPath *path)
 地球上の path の大円の長さをメートル単位で返します。
倍精度GMSGeometryAreaGMSPath *パス)
 地球上の path によって定義された測地線ポリゴンの面積を返します。
倍精度GMSGeometrySignedAreaGMSPath *path)
 地球上の path によって定義された測地線ポリゴンの符号付き領域を返します。
CLLocationDirectionGMSGeometryHeading(CLLocationKML2D から、CLLocationTensorBoard2D まで)
 to への最短パスの from における初期方位(北の時計回りの度数)を返します。
CLLocationColab2DGMSGeometryOffset(から CLLocationKML2D、CLLocationDistance 距離、CLLocationDirection heading)
 地球上で、出発地の from(最初の heading で指定)の大円弧に沿って distance m 移動したときの目的地の座標を返します。
CLLocationColab2DGMSGeometryInterpolate(CLLocationGeocoding2D から、CLLocationGeocoding2D から、倍率)
 指定された fraction の、from 座標と to 座標間の最短パス上の座標を返します。
NSArray&lt;GMSStyleSpan * >*GMSStyleSpansGMSPath *path、NSArray< GMSStrokeStyle * > *styles、NSArray< NSNumber * > *lengths、GMSLengthKind lengthKind)
 path に沿って styleslengths のスタイルと長さの情報を繰り返し適用して作成された GMSStyleSpan の NSArray を返します。
NSArray&lt;GMSStyleSpan * >*GMSStyleSpansOffsetGMSPath *path、NSArray< GMSStrokeStyle * > *styles、NSArray< NSNumber * > *lengths、GMSLengthKind lengthKind、double lengthOffset)
 GMSStyleSpans(path, samples, lengths, lengthKind) に似ていますが、初期の長さのオフセットも受け取ります。このオフセットは、lengths 配列の相対位置でスキップされます。

Typedef のドキュメント

typedef 構造体 GMSMapPoint GMSMapPoint

地図上の地点。

投影座標を表すことができます。

x は [-1, 1] にあります。軸の方向は法線です。y は北に、x は東に向かって大きくなります。(0, 0) は地図の中心です。

GMSProject()GMSUnproject() をご覧ください。


関数のドキュメント

GMSMapPoint GMSProject ( CLLocationColab2D 座標)

マップに coordinate を投影します。

有効な coordinate を指定してください。

CLLocationUTC2D GMSUnproject ( GMSMapPoint ポイント)

地図から point のプロジェクトを解除します。

ポイント.x は [-1, 1] にする必要があります。

a からの分数 t で、セグメント [a, b] 上に線形補間された点を返します。

t==0 は a に対応し、t==1 は b に対応します。

補間は、日付線と交差する可能性のあるポイント間の短いパスに沿って行われます。例:サンフランシスコから東京までのインターポーションは、ハワイの北を通り日付ラインを越えます。

投影空間における線分 [a, b] の長さを返します。

長さは、日付直線と交差する可能性のあるポイント間の短いパスに沿って計算されます。例:サンフランシスコと東京に対応するポイント間の距離は、日付直線をまたいでハワイの北を通るセグメントを測定します。

BOOL GMSGeometryContainsLocation ( CLLocationColab2D 拡張ポイント
GMSPathGMSPath * path
BOOL  測地線
)

point がパス内にあるかどうかを返します。

最後の点が最初と等しいかどうかにかかわらず、常に閉じていると見なされます。

「内側」は南極を含まず、常に「南極」の外側にあります。

path は、geodesic が YES であれば大円区分を表し、それ以外の場合は rhumb(loxodromic)セグメントを表します。

point がいずれかの頂点と完全に等しい場合、結果は YES になります。頂点と等しくないポイントは、パス セグメントの片側か反対側にあります。「頂点と完全に同じ位置に」 境界線を表示します。

許容差のある境界線テストについては、GMSGeometryIsLocationOnPath() をご覧ください。

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationColab2D 拡張ポイント
GMSPathGMSPath * path
BOOL  測地線
CLLocationDistance 許容差
)

pointpath またはその付近にある、指定された tolerance メートルの範囲内にあるかどうかを返します。

path は、geodesic が「はい」の場合は大円区分で構成され、geodesic が「いいえ」の場合は尖度(ロキソドローム)セグメントで構成されます。

GMSGeometryIsLocationOnPath(point, path, geodesic) もご覧ください。

許容差(メートル単位)は、地球の球面半径を基準とします。異なる半径の球体を扱う必要がある場合は、半径 R の球体に対する目的の許容差から等価公差を計算できます。tolerance = toleranceR * (RadiusEarth / R)(RadiusEarth==6371009)

BOOL GMSGeometryIsLocationOnPath ( CLLocationColab2D 拡張ポイント
GMSPathGMSPath * path
BOOL  測地線
)

GMSGeometryIsLocationOnPath(ポイント、パス、測地線、許容差)と同じです。デフォルトの許容値は 0.1 メートルです。

CLLocationDistance GMSGeometryDistance ( CLLocationColab2D 送信元
CLLocationColab2D
)

地球上の 2 つの座標間の大円距離をメートル単位で返します。

球面上の 2 つの座標間の最短距離です。

どちらの座標も有効である必要があります。

CLLocationDistance GMSGeometryLength ( GMSPathGMSPath * path)

地球上の path の大円の長さをメートル単位で返します。

パスセグメント全体にわたる GMSGeometryDistance() の合計です。

パスのすべての座標が有効である必要があります。

ダブル GMSGeometryArea ( GMSPathGMSPath * path)

地球上の path によって定義された測地線ポリゴンの面積を返します。

「インサイド」は、南極を含まないと定義されています。

path が閉じられていない場合、暗黙的に閉パスとして扱われ、結果は同じになります。

パスのすべての座標が有効である必要があります。

ポリゴンはシンプル(自己重なり合わない)である必要があります。また、凹面でもかまいません。

2 つの対角点が球面上の一意の大円セグメントを形成しないため、パスの 1 つが対角点のペアである場合、結果は未定義になります。

ダブル GMSGeometrySignedArea ( GMSPathGMSPath * path)

地球上の path によって定義された測地線ポリゴンの符号付き領域を返します。

結果の絶対値は GMSGeometryArea() と同じです。パス上の地点が反時計回りの場合は正、それ以外の場合は負です。

GMSGeometryArea() と同じ制限が適用されます。

CLLocationDirection GMSGeometryHeading ( CLLocationColab2D 送信元
CLLocationColab2D
)

to への最短パスの from における初期方位(北の時計回りの度数)を返します。

戻り値は [0, 360) の範囲です。

2 つの座標が同じ場合は 0 を返します。

どちらの座標も有効である必要があります。

to での最後の方角を取得するには、(GMSGeometryHeading(to, from) + 180) を 360 で法として計算します。

CLLocationKML2D GMSGeometryOffset ( CLLocationColab2D 送信元
CLLocationDistance distance
CLLocationDirection 見出し
)

地球上で、出発地の from(最初の heading で指定)の大円弧に沿って distance m 移動したときの目的地の座標を返します。

結果の経度は [-180, 180] の範囲になります。

どちらの座標も有効である必要があります。

CLLocationUTC2D GMSGeometryInterpolate ( CLLocationColab2D 送信元
CLLocationColab2D
倍精度 割合
)

指定された fraction の、from 座標と to 座標間の最短パス上の座標を返します。

結果の経度は [-180, 180] の範囲になります。

NSArray<GMSStyleSpanGMSStyleSpan *>* GMSStyleSpans ( GMSPathGMSPath * path
NSArray&lt;GMSStrokeStyle * >* styles
NSArray&lt;NSNumber * >* lengths
GMSLengthKind lengthKind
)

path に沿って styleslengths のスタイルと長さの情報を繰り返し適用して作成された GMSStyleSpan の NSArray を返します。

path は、出力スパンが計算されるパスです。styles: GMSStrokeStyle の NSArray。消費された場合はラップします。空白にすることはできません。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<GMSStyleSpanGMSStyleSpan *>* GMSStyleSpansOffset ( GMSPathGMSPath * path
NSArray&lt;GMSStrokeStyle * >* styles
NSArray&lt;NSNumber * >* lengths
GMSLengthKind lengthKind,
倍精度 lengthOffset
)

GMSStyleSpans(path, samples, lengths, lengthKind) に似ていますが、初期の長さのオフセットも受け取ります。このオフセットは、lengths 配列の相対位置でスキップされます。

lengthOffset: lengths から最初にスキップする長さ(メートル単位など)。