GMSGeometryUtils

GMSGeometryUtils

Classes

structureGMSMapPoint
 Un point sur la carte. Plus...

Définition de type

typedef struct GMSMapPointGMSMapPoint
 Un point sur la carte.

Fonctions

GMSMapPointGMSProject (coordonnée CLLocationCoordinate2D)
 Projet coordinate sur la carte.
CLLocationCoordinate2DGMSUnproject (point GMSMapPoint)
 Supprime les projets point de la carte.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, double t)
 Renvoie un point interpolé linéairement sur le segment [a, b], à la fraction t à partir de a.
doubleGMSMapPointDistance (GMSMapPoint a, GMSMapPoint b)
 Renvoie la longueur du segment [a, b] dans l'espace projeté.
BOOLGMSGeometryContainsLocation (point CLLocationCoordinate2D, GMSPath *chemin, géodésique BOOL)
 Indique si point se trouve à l'intérieur du chemin.
BOOLGMSGeometryIsLocationOnPathTolerance (point CLLocationCoordinate2D, GMSPath *chemin, géodésique BOOL, tolérance CLLocationDistance)
 Indique si point se trouve sur path ou à proximité, dans la plage tolerance spécifiée en mètres.
BOOLGMSGeometryIsLocationOnPath (point CLLocationCoordinate2D, GMSPath *chemin d'accès, géodésique BOOL)
 Identique à GMSGeometryIsLocationOnPath(point, chemin, géodésique, tolérance), avec une tolérance par défaut de 0,1 mètre.
CLLocationDistanceGMSGeometryDistance (au départ de CLLocationCoordinate2D et à CLLocationCoordinate2D)
 Renvoie la distance du grand cercle entre deux coordonnées, en mètres, sur Terre.
CLLocationDistanceGMSGeometryLength (GMSPath *path)
 Renvoie la longueur du grand cercle de path, en mètres, sur la Terre.
doubleGMSGeometryArea (GMSPath *chemin d'accès)
 Renvoie la superficie d'un polygone géodésique défini par path sur la Terre.
doubleGMSGeometrySignedArea (GMSPath *chemin d'accès)
 Renvoie la zone signée d'un polygone géodésique défini par path sur Terre.
CLLocationDirectionGMSGeometryHeading (CLLocationCoordinate2D de, CLLocationCoordinate2D vers)
 Renvoie l'orientation initiale (en degrés dans le sens des aiguilles d'une montre par rapport au nord) à from du tracé le plus court vers to.
CLLocationCoordinate2DGMSGeometryOffset (depuis CLLocationCoordinate2D, distance CLLocationDistance, en-tête CLLocationDirection)
 Renvoie la coordonnée de destination, à partir de from par la valeur heading initiale, en parcourant distance mètres le long d'un grand arc circulaire sur Terre.
CLLocationCoordinate2DGMSGeometryInterpolate (CLLocationCoordinate2D de, CLLocationCoordinate2D à, fraction double)
 Renvoie la coordonnée qui se trouve à la fraction donnée du chemin entre les coordonnées from et to sur le tracé le plus court entre les deux.
NSArray&lt; GMSStyleSpan* > *.GMSStyleSpans (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind)
 Renvoie un NSArray de GMSStyleSpan construit par l'application répétée des informations de style et de longueur à partir de styles et lengths avec path.
NSArray&lt; GMSStyleSpan* > *.GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind, double lengthOffset)
 Semblable à GMSStyleSpans(path, styles, lengths, lengthKind), mais prend également un décalage de longueur initial qui sera ignoré par rapport au tableau lengths.

Documentation Typedef

typedef struct GMSMapPoint GMSMapPoint

Un point sur la carte.

Peut représenter une coordonnée projetée.

x est compris dans [-1, 1]. La direction de l'axe est normale: y grandit vers le nord, x progresse vers l'est. (0, 0) correspond au centre de la carte.

Consultez GMSProject() et GMSUnproject().


Documentation sur les fonctions

GMSMapPoint GMSProject ( CLLocationCoordinate2D coordonnée)

Projet coordinate sur la carte.

coordinate doit être valide.

CLLocationCoordinate2D GMSUnproject ( GMSMapPoint point d'accès)

Supprime les projets point de la carte.

point.x doit être compris dans [-1, 1].

Renvoie un point interpolé linéairement sur le segment [a, b], à la fraction t à partir de a.

t==0 correspond à a, t==1 correspond à b.

L'interpolation a lieu le long du tracé court entre les points qui traversent potentiellement la ligne de date. Exemple : par interpolation de San Francisco à Tokyo, le nord d'Hawaï sera traversé et la frontière de dates sera dépassée.

Renvoie la longueur du segment [a, b] dans l'espace projeté.

La longueur est calculée le long du tracé court entre les points qui traversent potentiellement la ligne de date. Exemple : la distance entre les points correspondant à San Francisco et à Tokyo mesure la section qui passe au nord d'Hawaï et franchit la ligne de date.

BOOL GMSGeometryContainsLocation ( CLLocationCoordinate2D point d'accès,
GMSPath * path,
BOOL géodésique
)

Indique si point se trouve à l'intérieur du chemin.

Le tracé est toujours considéré comme fermé, que le dernier point soit toujours égal au premier ou non.

L'intérieur est défini comme ne contenant pas le pôle Sud, le pôle Sud étant toujours à l'extérieur.

path décrit de grands segments de cercle si la valeur de geodesic est OUI, et des segments cylindriques (loxodromiques) dans le cas contraire.

Si point est exactement égal à l'un des sommets, le résultat est YES. Un point qui n'est pas égal à un sommet se trouve d'un côté ou de l'autre d'un segment de tracé. Il ne peut jamais se trouver "exactement sur le bordure".

Pour effectuer un test de bordure avec tolérance, consultez GMSGeometryIsLocationOnPath().

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D point d'accès,
GMSPath * path,
BOOL géodésique,
CLLocationDistance tolérance
)

Indique si point se trouve sur path ou à proximité, dans la plage tolerance spécifiée en mètres.

path est composé de grands segments de cercle si la valeur geodesic est OUI, et de segments cylindriques (loxodromiques) si la valeur geodesic est NON.

Voir aussi GMSGeometryIsLocationOnPath(point, chemin, géodésique).

La tolérance est exprimée en mètres par rapport au rayon sphérique de la Terre. Si vous devez travailler sur une sphère de rayon différent, vous pouvez calculer la tolérance équivalente à partir de la tolérance souhaitée sur la sphère du rayon R: tolérance = toléranceR * (RadiusEarth / R), avec RadiusEarth==6371009.

BOOL GMSGeometryIsLocationOnPath ( CLLocationCoordinate2D point d'accès,
GMSPath * path,
BOOL géodésique
)

Identique à GMSGeometryIsLocationOnPath(point, chemin, géodésique, tolérance), avec une tolérance par défaut de 0,1 mètre.

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D from,
CLLocationCoordinate2D à
)

Renvoie la distance du grand cercle entre deux coordonnées, en mètres, sur Terre.

Il s'agit de la distance la plus courte entre les deux coordonnées sur la sphère.

Les deux coordonnées doivent être valides.

CLLocationDistance GMSGeometryLength ( GMSPath * path)

Renvoie la longueur du grand cercle de path, en mètres, sur la Terre.

Il s'agit de la somme des valeurs de GMSGeometryDistance() sur les segments du chemin.

Toutes les coordonnées du tracé doivent être valides.

Double GMSGeometryArea ( GMSPath * path)

Renvoie la superficie d'un polygone géodésique défini par path sur la Terre.

L'intérieur du polygone ne contient pas le pôle Sud.

Si path n'est pas fermé, il est néanmoins implicitement traité comme un chemin fermé, et le résultat est le même.

Toutes les coordonnées du tracé doivent être valides.

Le polygone doit être simple (pas de chevauchement automatique) et peut être concave.

Si un segment du trajet est constitué d'une paire de points antipodaux, le résultat n'est pas défini, car deux points antipodaux ne forment pas un grand segment de cercle unique sur la sphère.

Double GMSGeometrySignedArea ( GMSPath * path)

Renvoie la zone signée d'un polygone géodésique défini par path sur Terre.

Le résultat a la même valeur absolue que GMSGeometryArea(). la valeur est positive si les points du tracé sont dans le sens inverse des aiguilles d'une montre et négative dans le cas contraire.

Les mêmes restrictions que pour GMSGeometryArea() s'appliquent.

CLLocationDirection GMSGeometryHeading ( CLLocationCoordinate2D from,
CLLocationCoordinate2D à
)

Renvoie l'orientation initiale (en degrés dans le sens des aiguilles d'une montre par rapport au nord) à from du tracé le plus court vers to.

La valeur renvoyée est comprise dans la plage [0, 360).

Renvoie 0 si les deux coordonnées sont identiques.

Les deux coordonnées doivent être valides.

Pour obtenir le titre final dans to, vous pouvez utiliser (GMSGeometryHeading(to, from) + 180) modulo 360.

CLLocationCoordinate2D GMSGeometryOffset ( CLLocationCoordinate2D from,
CLLocationDistance distance,
CLLocationDirection titre
)

Renvoie la coordonnée de destination, à partir de from par la valeur heading initiale, en parcourant distance mètres le long d'un grand arc circulaire sur Terre.

La longitude obtenue est comprise dans la plage [-180, 180).

Les deux coordonnées doivent être valides.

CLLocationCoordinate2D GMSGeometryInterpolate ( CLLocationCoordinate2D from,
CLLocationCoordinate2D à
double fraction
)

Renvoie la coordonnée qui se trouve à la fraction donnée du chemin entre les coordonnées from et to sur le tracé le plus court entre les deux.

La longitude obtenue est comprise dans la plage [-180, 180).

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

Renvoie un NSArray de GMSStyleSpan construit par l'application répétée des informations de style et de longueur à partir de styles et lengths avec path.

path est le chemin sur lequel les segments de sortie sont calculés. styles est un NSArray de GMSStrokeStyle. Encapsule s'il est consommé. Ce champ est obligatoire. lengths est un NSArray de NSNumber ; chaque entrée donne la longueur du style correspondant à partir de styles. Encapsule s'il est consommé. Ce champ est obligatoire. lengthKind est l'interprétation des valeurs de lengths (géodésique, arrondie ou projetée).

Exemple: une polyligne avec des traînées noires et blanches alternées:

 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
)

Semblable à GMSStyleSpans(path, styles, lengths, lengthKind), mais prend également un décalage de longueur initial qui sera ignoré par rapport au tableau lengths.

lengthOffset est la longueur (en mètres, par exemple) à ignorer initialement à partir de lengths.