GMSGeometryUtils

GMSGeometryUtils

Klassen

StrukturGMSMapPoint
 Ein Punkt auf der Karte. Mehr...

Typedefs

typedef-Struktur GMSMapPointGMSMapPoint
 Ein Punkt auf der Karte.

Funktionen

GMSMapPointGMSProject (CLLocationCoordinate2D-Koordinate)
 Projiziert coordinate auf die Karte.
CLLocationCoordinate2D (Standortkoordinaten 2D)GMSUnproject (GMSMapPoint-Punkt)
 Projekt von point von der Karte entfernen.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, Double t)
 Gibt einen linear interpolierten Punkt auf dem Segment [a, b] als Bruchteil t aus a zurück.
DoubleGMSMapPointDistance (GMSMapPoint a, GMSMapPoint b)
 Gibt die Länge des Segments [a, b] im projizierten Bereich zurück.
BOOLGMSGeometryContainsLocation (CLLocationCoordinate2D-Punkt, GMSPath *path, BOOL geodätisch)
 Gibt zurück, ob point innerhalb des Pfads liegt.
BOOLGMSGeometryIsLocationOnPathTolerance (CLLocationCoordinate2D-Punkt, GMSPath *path, BOOL geodätisch, CLLocationDistance-Toleranz)
 Gibt zurück, ob point innerhalb der angegebenen tolerance in Metern oder in der Nähe von path liegt.
BOOLGMSGeometryIsLocationOnPath (CLLocationCoordinate2D-Punkt, GMSPath *path, BOOL geodätisch)
 Entspricht GMSGeometryIsLocationOnPath(point, path, geodätisch, Toleranz), mit einer Standardtoleranz von 0,1 Metern.
CLLocationDistanceGMSGeometryDistance (CLLocationCoordinate2D from, CLLocationCoordinate2D to)
 Gibt die Großkreisentfernung zwischen zwei Koordinaten auf der Erde in Metern zurück.
CLLocationDistanceGMSGeometryLength (GMSPath *Pfad)
 Gibt die Länge des Großkreises von path in Metern auf der Erde zurück.
DoubleGMSGeometryArea (GMSPath *Pfad)
 Gibt die Fläche eines geodätischen Polygons zurück, das durch path auf der Erde definiert wurde.
DoubleGMSGeometrySignedArea (GMSPath *Pfad)
 Gibt den signierten Bereich eines geodätischen Polygons zurück, das durch path auf der Erde definiert wurde.
CLLocationDirectionGMSGeometryHeading (CLLocationCoordinate2D from, CLLocationCoordinate2D to)
 Gibt die anfängliche Richtung (Grad im Uhrzeigersinn von Norden) bei from des kürzesten Wegs nach to zurück.
CLLocationCoordinate2D (Standortkoordinaten 2D)GMSGeometryOffset (CLLocationCoordinate2D from, CLLocationDistance distanz, CLLocationDirection)
 Gibt die Zielkoordinate zurück, wenn der Nutzer bei from mit der Anfangslinie heading beginnt und sich distance Meter entlang eines Großkreisbogens auf der Erde bewegt.
CLLocationCoordinate2D (Standortkoordinaten 2D)GMSGeometryInterpolate (CLLocationCoordinate2D from, CLLocationCoordinate2D to, doppelter Bruch)
 Gibt die Koordinate zurück, die den angegebenen fraction-Wert des Wegs zwischen den from- und to-Koordinaten auf dem kürzesten Pfad zwischen den beiden liegt.
NSArray&lt; GMSStyleSpan* > *GMSStyleSpans (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind)
 Gibt ein NSArray von GMSStyleSpan zurück, das durch wiederholte Anwendung von Stil- und Längeninformationen aus styles und lengths entlang von path konstruiert ist.
NSArray&lt; GMSStyleSpan* > *GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind, double lengthOffset)
 Ähnlich wie GMSStyleSpans(path, styles, lengths, lengthKind) verwendet jedoch zusätzlich einen anfänglichen Längenversatz, der relativ zum Array lengths übersprungen wird.

Typedef-Dokumentation

typedef struct GMSMapPoint GMSMapPoint

Ein Punkt auf der Karte.

Kann eine koordinierte Koordinate darstellen.

x ist in [-1, 1]. Die Achsenrichtung ist normal: y vergrößert sich in Richtung Norden, x in Richtung Osten. (0, 0) ist die Kartenmitte.

Weitere Informationen finden Sie unter GMSProject() und GMSUnproject().


Funktionsdokumentation

GMSMapPoint GMSProject ( CLLocationCoordinate2D (Standortkoordinaten 2D) Koordinaten)

Projiziert coordinate auf die Karte.

coordinate muss gültig sein.

CLLocationCoordinate2D-GMSUnproject ( GMSMapPoint Zugangspunkt)

Projekt von point von der Karte entfernen.

Point.x muss in [-1, 1] liegen.

Gibt einen linear interpolierten Punkt auf dem Segment [a, b] als Bruchteil t von a zurück.

t = 0 entspricht a, t = 1 entspricht b.

Die Interpolation erfolgt entlang des kurzen Pfads zwischen den Punkten, die möglicherweise die Datumsgrenze überschreiten. Beispiel: Die Interpolation von San Francisco nach Tokio führt nördlich von Hawaii und überschreitet die Datumsgrenze.

Gibt die Länge des Segments [a, b] im projizierten Bereich zurück.

Die Länge wird entlang des kurzen Pfads zwischen den Punkten berechnet, die möglicherweise die Datumsgrenze überschreiten. Beispiel: Die Entfernung zwischen den Punkten, die San Francisco und Tokio entsprechen, misst das Segment, das nördlich von Hawaii verläuft, das die Datumsgrenze kreuzt.

BOOL GMSGeometryContainsLocation ( CLLocationCoordinate2D (Standortkoordinaten 2D) point
GMSPath * path
BOOL Geodäsie
)

Gibt zurück, ob point innerhalb des Pfads liegt.

Der Pfad gilt immer als geschlossen, unabhängig davon, ob der letzte Punkt mit dem ersten übereinstimmt oder nicht.

„Innenpol“ bedeutet, dass er den Südpol nicht enthält – der Südpol liegt immer draußen.

path beschreibt Großkreissegmente, wenn geodesic JA ist, ansonsten werden rhumb-Segmente (loxodrom) beschrieben.

Wenn point genau einem der Eckpunkte entspricht, ist das Ergebnis JA. Ein Punkt, der keinem Scheitelpunkt entspricht, befindet sich auf der einen Seite oder auf der anderen Seite eines Pfadsegments. Er darf sich niemals „genau auf dem Rahmen".

Für einen Rahmentest mit Toleranz siehe GMSGeometryIsLocationOnPath().

BOOL GMSGeometryIsLocationOnPathTolerance (GMSGeometryIsLocationOnPathTolerance) ( CLLocationCoordinate2D (Standortkoordinaten 2D) point
GMSPath * path
BOOL geodätisch
CLLocationDistance Toleranz
)

Gibt zurück, ob point innerhalb der angegebenen tolerance in Metern oder in der Nähe von path liegt.

path besteht aus Großkreissegmenten, wenn geodesic JA ist, und aus Rhomb-Segmenten, wenn geodesic NEIN ist.

Siehe auch GMSGeometryIsLocationOnPath(Punkt, Pfad, geodätisch).

Die Toleranz in Metern ist relativ zum sphärischen Radius der Erde. Wenn Sie an einer Kugel mit einem anderen Radius arbeiten müssen, können Sie die entsprechende Toleranz aus der gewünschten Toleranz auf der Kugel R: toleranz = ToleranzR * (RadiusEarth / R) mit RadiusEarth==6371009 berechnen.

BOOL GMSGeometryIsLocationOnPath ( CLLocationCoordinate2D (Standortkoordinaten 2D) point
GMSPath * path
BOOL Geodäsie
)

Entspricht GMSGeometryIsLocationOnPath(point, path, geodätisch, Toleranz), mit einer Standardtoleranz von 0,1 Metern.

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D (Standortkoordinaten 2D) from,
CLLocationCoordinate2D (Standortkoordinaten 2D) bis
)

Gibt die Großkreisentfernung zwischen zwei Koordinaten auf der Erde in Metern zurück.

Dies ist die kürzeste Entfernung zwischen den beiden Koordinaten auf der Kugel.

Beide Koordinaten müssen gültig sein.

CLLocationDistance GMSGeometryLength ( GMSPath * path)

Gibt die Länge des Großkreises von path in Metern auf der Erde zurück.

Dies ist die Summe von GMSGeometryDistance() über die Pfadsegmente.

Alle Koordinaten des Pfads müssen gültig sein.

Double GMSGeometryArea ( GMSPath * path)

Gibt die Fläche eines geodätischen Polygons zurück, das durch path auf der Erde definiert wurde.

Das „Innen“ des Polygons so definiert, dass er den Südpol nicht enthält.

Wenn path nicht geschlossen ist, wird er dennoch implizit als geschlossener Pfad behandelt und das Ergebnis ist das gleiche.

Alle Koordinaten des Pfads müssen gültig sein.

Das Polygon muss einfach sein, darf sich nicht selbst überschneiden und kann konkav sein.

Wenn ein Segment des Pfades ein Paar antipodaler Punkte ist, ist das Ergebnis nicht definiert, da zwei antipodische Punkte kein eindeutiges Großkreissegment auf der Kugel bilden.

Double GMSGeometrySignedArea ( GMSPath * path)

Gibt die vorzeichenbehaftete Fläche eines geodätischen Polygons zurück, das durch path auf der Erde definiert wurde.

Das Ergebnis hat denselben absoluten Wert wie GMSGeometryArea(). Er ist positiv, wenn die Pfadpunkte gegen den Uhrzeigersinn geordnet sind, andernfalls negativ.

Es gelten dieselben Einschränkungen wie für GMSGeometryArea().

CLLocationDirection GMSGeometryHeading (GMDGeometryHeading) ( CLLocationCoordinate2D (Standortkoordinaten 2D) from,
CLLocationCoordinate2D (Standortkoordinaten 2D) bis
)

Gibt die anfängliche Richtung (Grad im Uhrzeigersinn von Norden) bei from des kürzesten Wegs nach to zurück.

Der zurückgegebene Wert liegt im Bereich [0, 360].

Gibt 0 zurück, wenn die beiden Koordinaten gleich sind.

Beide Koordinaten müssen gültig sein.

Um die endgültige Überschrift bei to zu erhalten, kann (GMSGeometryHeading(to, from) + 180) Modulo 360 verwendet werden.

CLLocationCoordinate2D GMSGeometryOffset ( CLLocationCoordinate2D (Standortkoordinaten 2D) from,
CLLocationDistance distance
CLLocationDirection Überschrift
)

Gibt die Zielkoordinate zurück, wenn der Nutzer bei from mit der Anfangslinie heading beginnt und sich distance Meter entlang eines Großkreisbogens auf der Erde bewegt.

Der resultierende Längengrad liegt im Bereich [-180, 180].

Beide Koordinaten müssen gültig sein.

CLLocationCoordinate2D GMSGeometryInterpolate ( CLLocationCoordinate2D (Standortkoordinaten 2D) from,
CLLocationCoordinate2D (Standortkoordinaten 2D) bis
Double Anteil
)

Gibt die Koordinate zurück, die den angegebenen fraction-Wert des Wegs zwischen den from- und to-Koordinaten auf dem kürzesten Pfad zwischen den beiden liegt.

Der resultierende Längengrad liegt im Bereich [-180, 180].

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

Gibt ein NSArray von GMSStyleSpan zurück, das durch wiederholte Anwendung von Stil- und Längeninformationen aus styles und lengths entlang von path konstruiert ist.

path ist der Pfad, auf dem die Ausgabespannen berechnet werden. styles ist ein NSArray von GMSStrokeStyle. Wird umgebrochen, falls verbraucht. Das ist ein Pflichtfeld. lengths: ein NSArray von NSNumber; Jeder Eintrag gibt die Länge des entsprechenden Stils aus styles an. Wird umgebrochen, falls verbraucht. Das ist ein Pflichtfeld. lengthKind ist die Interpretation der Werte aus lengths (geodätisch, rhumb oder projiziert).

Beispiel: Eine Polylinie mit abwechselnden schwarz-weißen Spannen:

 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,
Double lengthOffset
)

Ähnlich wie GMSStyleSpans(path, styles, lengths, lengthKind) verwendet jedoch zusätzlich einen anfänglichen Längenversatz, der relativ zum Array lengths übersprungen wird.

lengthOffset ist die Länge (z.B. in Metern), die ab lengths übersprungen werden soll.