GMSGeometryUtils

GMSGeometryUtils

クラス

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

Typedef

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

関数

GMSMapPointGMSProject(CLLocationCoordinate2D 座標)
 地図へのプロジェクト coordinate
CLLocationCoordinate2DGMSUnprojectGMSMapPoint ポイント)
 地図から point のプロジェクトを解除します。
GMSMapPointGMSMapPointInterpolateGMSMapPoint a、GMSMapPoint b、double t)
 a から分数 t までの線分 [a, b] 上の線形補間された点を返します。
doubleGMSMapPointDistanceGMSMapPoint a、GMSMapPoint b)
 投影空間での線分 [a, b] の長さを返します。
BOOL GMSGeometryContainsLocation(CLLocationCoordinate2D ポイント、GMSPath *path, BOOL 測地線)
 point がパス内にあるかどうかを返します。
BOOL GMSGeometryIsLocationOnPathTolerance(CLLocationCoordinate2D ポイント、GMSPath *path、BOOL 測地線、CLLocationDistance の許容範囲)
 pointpath またはその近くで、メートル単位で指定された tolerance 内にあるかどうかを返します。
BOOL GMSGeometryIsLocationOnPath(CLLocationCoordinate2D ポイント、GMSPath *path, BOOL 測地線)
 GMSGeometryIsLocationOnPath(point, path, geodesic, tolerance) と同じで、デフォルトの許容値は 0.1 メートルです。
CLLocationDistanceGMSGeometryDistance(CLLocationCoordinate2D から、CLLocationCoordinate2D まで)
 地球上の 2 つの座標間の大円距離をメートル単位で返します。
CLLocationDistanceGMSGeometryLengthGMSPath *path)
 地球上の path の大円の長さをメートル単位で返します。
doubleGMSGeometryAreaGMSPath *path)
 地球上の path によって定義される測地線ポリゴンの面積を返します。
doubleGMSGeometrySignedAreaGMSPath *path)
 地球上の path によって定義された測地線ポリゴンの符号付き領域を返します。
CLLocationDirectionGMSGeometryHeading(CLLocationCoordinate2D から CLLocationCoordinate2D まで)
 to への最短経路の from における最初の方角(北の時計回りの度数)を返します。
CLLocationCoordinate2DGMSGeometryOffset(CLLocationCoordinate2D from、CLLocationDistance 距離、CLLocationDirection 方角)
 最初の headingfrom を始点とし、大円弧に沿って distance メートル移動した場合の目的地の座標を返します。
CLLocationCoordinate2DGMSGeometryInterpolate(CLLocationCoordinate2D from、CLLocationCoordinate2D to、2 倍分数)
 from 座標と to 座標の間の経路の指定された fraction にある座標を、2 つの座標間の最短経路で返します。
NSArray< GMSStyleSpan * > * GMSStyleSpansGMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths、GMSLengthKindlengthKind)
 styleslengths のスタイルと長さの情報を path に沿って繰り返し適用することで構築された GMSStyleSpan の NSArray を返します。
NSArray< GMSStyleSpan * > * GMSStyleSpansOffsetGMSPath *path, NSArray< GMSStrokeStyle * > *styles、NSArray< NSNumber * > *lengths、GMSLengthKindlengthKind、doublelengthOffset)
 GMSStyleSpans(path, styles, lengths, 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 は a に対応し、t==1 は b に対応します。

補間は、日付ラインと交差する可能性のあるポイント間の短いパスに沿って行われます。たとえば、サンフランシスコから東京までを補間すると、ハワイの北を通過して日付のラインを横切ることになります。

倍精度の GMSMapPointDistance ( GMSMapPoint a
GMSMapPoint b
)

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

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

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

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

終点が始点と等しいかどうかにかかわらず、この経路は常に閉じていると見なされます。

内側は、南極を含まないように定義されており、南極は常に外側にあります。

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

point がいずれかの頂点と完全に等しい場合、結果は YES になります。頂点に等しくないポイントは、パスセグメントの一方の側またはもう一方の側にあります。「正確に境界上にある」ことはできません。

許容値を使用した境界テストについては、GMSGeometryIsLocationOnPath() をご覧ください。

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

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

path は、geodesic が YES の場合は大円セグメントで構成され、geodesic が NO の場合は rhumb(二色性)セグメントで構成されます。

「GMSGeometryIsLocationOnPath(ポイント, パス, 測地線)」もご覧ください。

許容差(メートル単位)は、地球の球面半径に対する相対値です。異なる半径の球面に取り組む必要がある場合は、半径 R の球面に対する許容差から等価許容差を計算できます。許容差 = toleranceR * (RadiusEarth / R)(RadiusEarth==6371009)として計算できます。

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

GMSGeometryIsLocationOnPath(point, path, geodesic, tolerance) と同じで、デフォルトの許容値は 0.1 メートルです。

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D from
CLLocationCoordinate2D から
)

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

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

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

CLLocationDistance GMSGeometryLength ( GMSPath path)

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

これは、パスセグメント全体での GMSGeometryDistance() の合計です。

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

ダブル GMSGeometryArea ( GMSPath path)

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

ポリゴンの「内側」は、南極を含まない位置に定義されます。

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

パスの座標はすべて有効でなければなりません。

ポリゴンはシンプル(自己重なり合わない)でなければならず、凹面であってもかまいません。

経路のいずれかのセグメントが対立点のペアである場合、結果は未定義になります。2 つの対立点は、球面上で独自の大きな円弧を形成しないためです。

ダブル GMSGeometrySignedArea ( GMSPath path)

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

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

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

CLLocationDirection GMSGeometryHeading ( CLLocationCoordinate2D from
CLLocationCoordinate2D から
)

to への最短経路の from における最初の方角(北の時計回りの度数)を返します。

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

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

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

to の最終方角を取得するには、(GMSGeometryHeading(to, from) + 180) 360 法を使用します。

CLLocationCoordinate2D GMSGeometryOffset ( CLLocationCoordinate2D from
CLLocationDistance distance
CLLocationDirection heading
)

最初の headingfrom を始点とし、大円弧に沿って distance メートル移動した場合の目的地の座標を返します。

結果として得られる経度は [-180, 180] の範囲になります。

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

CLLocationCoordinate2D GMSGeometryInterpolate ( CLLocationCoordinate2D from
CLLocationCoordinate2D to
double 分数
)

from 座標と to 座標の間の経路の指定された fraction にある座標を、2 つの座標間の最短経路で返します。

結果として得られる経度は [-180, 180] の範囲になります。

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath path
NSArray< GMSStrokeStyle * > *  styles
NSArray< NSNumber * > *  length
GMSLengthKind lengthKind
)

styleslengths のスタイルと長さの情報を path に沿って繰り返し適用することで構築された 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<GMSStyleSpan *>* GMSStyleSpansOffset ( GMSPath path
NSArray< GMSStrokeStyle * > *  styles
NSArray< NSNumber * > *  length
GMSLengthKind lengthKind
double lengthOffset
)

GMSStyleSpans(path, styles, lengths, lengthKind) と似ていますが、lengths 配列に対してスキップされる初期の長さオフセットを受け取ります。

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