GMSGeometryUtils

GMSGeometryUtils

Klassen

StrukturGMSMapPoint
 Ein Punkt auf der Karte. Mehr...

Typedefs

typedef-Struktur GMSMapPointGMSMapPoint
 Ein Punkt auf der Karte.

Funktionen

GMSMapPointGMSProject (CLLocationCoordinate2D-Koordinate)
 Projekte coordinate zur Karte hinzufügen.
CLLocationCoordinate2DGMSUnproject (GMSMapPoint-Punkt)
 Projekt von point von der Karte entfernen
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, Double t)
 Gibt einen linear interpolierten Punkt im Segment [a, b] als Bruchzahl t von a zurück.
DoppelwertGMSMapPointDistance (GMSMapPoint a, GMSMapPoint b)
 Gibt die Länge des Segments [a, b] im projizierten Bereich zurück.
BOOLGMSGeometryContainsLocation (CLLocationCoordinate2D-Punkt, GMSPath*-Pfad, BOOL-Geodäte)
 Gibt zurück, ob point innerhalb des Pfads liegt.
BOOLGMSGeometryIsLocationOnPathTolerance (CLLocationCoordinate2D-Punkt, GMSPath *path, geodätische BOOL-Ziele, CLLocationDistance-Toleranz)
 Gibt zurück, ob point innerhalb oder in der Nähe von path innerhalb des angegebenen tolerance in Metern liegt.
BOOLGMSGeometryIsLocationOnPath (CLLocationCoordinate2D-Punkt, GMSPath*-Pfad, BOOL-Geodäte)
 Wie GMSGeometryIsLocationOnPath(Punkt, Pfad, Geodäte, Toleranz), mit einer Standardtoleranz von 0,1 Metern.
CLLocationDistanceGMSGeometryDistance (CLLocationCoordinate2D von, CLLocationCoordinate2D nach)
 Gibt die Großkreisentfernung zwischen zwei Koordinaten auf der Erde in Metern zurück.
CLLocationDistanceGMSGeometryLength (GMSPath *Pfad)
 Gibt die Länge des Großkreises auf der Erde von path in Metern zurück.
DoppelwertGMSGeometryArea (GMSPath *Pfad)
 Gibt die Fläche eines geodätischen Polygons zurück, das durch path auf der Erde definiert ist.
DoppelwertGMSGeometrySignedArea (GMSPath *Pfad)
 Gibt den signierten Bereich eines geodätischen Polygons zurück, das durch path auf der Erde definiert wird.
CLLocationDirectionGMSGeometryHeading (CLLocationCoordinate2D von, CLLocationCoordinate2D nach)
 Gibt die anfängliche Richtung (Grad im Uhrzeigersinn des Nordens) bei from des kürzesten Wegs nach to zurück.
CLLocationCoordinate2DGMSGeometryOffset (CLLocationCoordinate2D von, CLLocationDistance Entfernung, CLLocationDirection-Richtung)
 Gibt die Zielkoordinate zurück, wenn bei from mit der anfänglichen heading-Anfangung begonnen wird und sich auf der Erde distance Meter entlang eines Großkreisbogens bewegt.
CLLocationCoordinate2DGMSGeometryInterpolate (CLLocationCoordinate2D von, CLLocationCoordinate2D bis, doppelter Bruch)
 Gibt die Koordinate zurück, die zwischen den from- und to-Koordinaten auf dem kürzesten Weg zwischen den beiden liegt, und zwar zwischen der angegebenen fraction.
NSArray< 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 erstellt wurde.
NSArray< GMSStyleSpan * > * GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind, double lengthOffset)
 Ähnlich wie bei GMSStyleSpans(path, style, lengths, lengthKind), benötigt aber zusätzlich einen anfänglichen Längenversatz, der relativ zum Array lengths übersprungen wird.

Typedef-Dokumentation

typedef-Struktur GMSMapPoint GMSMapPoint

Ein Punkt auf der Karte.

Kann eine projizierte Koordinate darstellen.

x ist [-1, 1]. Die Richtung der Achse ist normal: y wächst in Richtung Norden, x wächst in Richtung Osten. (0, 0) ist die Mitte der Karte.

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


Funktionsdokumentation

GMSMapPoint GMSProject ( CLLocationCoordinate2D Koordinaten)

Projekte coordinate zur Karte hinzufügen.

coordinate muss gültig sein.

CLLocationCoordinate2D GMSUnproject ( GMSMapPoint Zugangspunkt)

Projekt von point von der Karte entfernen

Die Datei "point.x" muss in [-1, 1] liegen.

Gibt einen linear interpolierten Punkt im Segment [a, b] als Bruchzahl 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. Interpolieren z.B. von San Francisco nach Tokio verläuft im Norden von Hawaii und überquert die Datumsgrenze.

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

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

BOOL GMSGeometryContainsLocation ( CLLocationCoordinate2D point (Punkt)
GMSPath path
BOOL geodätisch
)

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

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

„Innen“ bedeutet hier, dass der Südpol nicht enthalten ist – der Südpol liegt immer außerhalb.

path beschreibt Großkreissegmente, wenn geodesic JA ist, andernfalls Rautenkreissegmente.

Wenn point genau einem der Eckpunkte entspricht, ist das Ergebnis JA. Ein Punkt, der nicht mit einem Scheitelpunkt identisch ist, befindet sich auf der einen oder anderen Seite eines Pfadsegments und kann niemals "genau am Rand" liegen.

Unter GMSGeometryIsLocationOnPath() finden Sie einen Toleranztest.

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D point (Punkt)
GMSPath path
BOOL geodätisch,
CLLocationDistance Toleranz
)

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

path besteht aus Großkreissegmenten, wenn geodesic JA ist, und aus Rhombussegmenten (loxodrom), wenn geodesic NEIN ist.

Siehe auch GMSGeometryIsLocationOnPath(Punkt, Pfad, Geodäte).

Die Toleranz in Metern bezieht sich auf den 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 für den Radius R berechnen: Toleranz = ToleranzR * (RadiusEarth / R) mit RadiusEarth==6371009.

BOOL GMSGeometryIsLocationOnPath ( CLLocationCoordinate2D point (Punkt)
GMSPath path
BOOL geodätisch
)

Wie GMSGeometryIsLocationOnPath(Punkt, Pfad, Geodäte, Toleranz), mit einer Standardtoleranz von 0,1 Metern.

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D from,
CLLocationCoordinate2D 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 auf der Erde von path in Metern zurück.

Dies ist die Summe von GMSGeometryDistance() über den Pfadsegmenten.

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

Doppeltes GMSGeometryArea-Element ( GMSPath path)

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

Das Innere des Polygons ist so definiert, dass es den Südpol nicht enthält.

Wenn path nicht geschlossen ist, wird es 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 (nicht sich selbst überlappend) und darf konkav sein.

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

Doppeltes GMSGeometrySignedArea ( GMSPath path)

Gibt den signierten Bereich eines geodätischen Polygons zurück, das durch path auf der Erde definiert wird.

Das Ergebnis hat denselben absoluten Wert wie GMSGeometryArea(). Es ist positiv, wenn die Pfadpunkte gegen den Uhrzeigersinn liegen, und ansonsten negativ.

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

CLLocationDirection: GMSGeometryHeading ( CLLocationCoordinate2D from,
CLLocationCoordinate2D bis
)

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

Der zurückgegebene Wert liegt im Bereich [0 bis 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 man (GMSGeometryHeading(to, from) + 180) modulo 360 verwenden.

CLLocationCoordinate2D GMSGeometryOffset ( CLLocationCoordinate2D from,
CLLocationDistance distance
CLLocationDirection Überschrift
)

Gibt die Zielkoordinate zurück, wenn bei from mit der anfänglichen heading-Anfangung begonnen wird und sich auf der Erde distance Meter entlang eines Großkreisbogens bewegt.

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

Beide Koordinaten müssen gültig sein.

CLLocationCoordinate2D GMSGeometryInterpolate ( CLLocationCoordinate2D from,
CLLocationCoordinate2D to,
Doppelwert fraction
)

Gibt die Koordinate zurück, die zwischen den from- und to-Koordinaten auf dem kürzesten Weg zwischen den beiden liegt, und zwar zwischen der angegebenen fraction.

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

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath path
NSArray< GMSStrokeStyle * > *  Stile,
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 erstellt wurde.

path ist der Pfad, anhand dessen die Ausgabe-Spans berechnet werden. styles ist ein NSArray von GMSStrokeStyle. Beim Verzehr wird ein Umbruch eingefügt. Das ist ein Pflichtfeld. lengths ist ein NSArray mit NSNumber. Jeder Eintrag gibt die Länge des entsprechenden Stils aus styles an. Beim Verzehr wird ein Umbruch eingefügt. Das ist ein Pflichtfeld. lengthKind die Interpretation von Werten aus lengths (geodätisch, rhumb oder projiziert).

Beispiel: Polylinie mit abwechselnden Schwarz-Weiß-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< GMSStrokeStyle * > *  Stile,
NSArray< NSNumber * > *  lengths,
GMSLengthKind lengthKind
Doppelwert lengthOffset
)

Ähnlich wie bei GMSStyleSpans(path, style, lengths, lengthKind), benötigt aber zusätzlich einen anfänglichen Längenversatz, der relativ zum Array lengths übersprungen wird.

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