GMSGeometryUtils

GMSGeometryUtils

Classes

structGMSMapPoint
 Un point sur la carte. Plus...

Valeurs par définition

typedef struct GMSMapPointGMSMapPoint
 Un point sur la carte.

Fonctions

GMSMapPointGMSProject (coordonnée CLLocationCoordinate2D)
 Projets coordinate sur la carte.
CLLocationCoordinate2DGMSUnproject (point GMSMapPoint)
 Annule la projet point sur la carte.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, double t)
 Renvoie un point interpolé linéairement sur le segment [a, b], à la fraction t de a.
doubleGMSMapPointDistance (GMSMapPoint a, GMSMapPoint b)
 Renvoie la longueur du segment [a, b] dans l'espace projeté.
BOOLGMSGeometryContainsLocation (point CLLocationCoordinate2D, GMSPath *path, géodésique BOOL)
 Indique si point se trouve à l'intérieur d'un chemin d'accès.
BOOLGMSGeometryIsLocationOnPathTolerance (point CLLocationCoordinate2D, GMSPath *path, géodésique BOOL, tolérance CLLocationDistance)
 Indique si point se trouve sur path ou à proximité, dans la limite tolerance spécifiée en mètres.
BOOLGMSGeometryIsLocationOnPath (point CLLocationCoordinate2D, GMSPath *path, géodésique BOOL)
 Identique à GMSGeometryIsLocationOnPath(point, tracé, géodésique, tolérance), avec une tolérance par défaut de 0,1 mètre.
CLLocationDistanceGMSGeometryDistance (depuis CLLocationCoordinate2D, CLLocationCoordinate2D vers)
 Renvoie la distance du grand cercle entre deux coordonnées, en mètres, sur la Terre.
CLLocationDistanceGMSGeometryLength (GMSPath *chemin)
 Renvoie la grande longueur de cercle de path, en mètres, sur la Terre.
doubleGMSGeometryArea (*chemin d'accès GMSPath)
 Renvoie l'aire d'un polygone géodésique défini par path sur Terre.
doubleGMSGeometrySignedArea (*chemin d'accès GMSPath)
 Renvoie l'aire signée d'un polygone géodésique défini par path sur la Terre.
CLLocationDirectionGMSGeometryHeading (depuis CLLocationCoordinate2D, vers CLLocationCoordinate2D)
 Renvoie le cap initial (en degrés dans le sens des aiguilles d'une montre du nord) au from du tracé le plus court vers to.
CLLocationCoordinate2DGMSGeometryOffset (à partir de CLLocationCoordinate2D, distance CLLocationDistance, en-tête CLLocationDirection)
 Renvoie la coordonnée de la destination, lorsque vous commencez à from par le heading initial et parcourez distance mètres le long d'un grand arc circulaire sur Terre.
CLLocationCoordinate2DGMSGeometryInterpolate (depuis CLLocationCoordinate2D, CLLocationCoordinate2D vers, double fraction)
 Renvoie la coordonnée correspondant au fraction donné du chemin entre les coordonnées from et to sur le tracé le plus court entre les deux.
NSArray< 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 d'informations de style et de longueur provenant de styles et lengths avec path.
NSArray< GMSStyleSpan * > * GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind, double lengthOffset)
 Semblable à GMSStyleSpans(path, styles, lengths, lengthKind), mais accepte é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 prévue.

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

Consultez GMSProject() et GMSUnproject().


Documentation de la fonction

GMSMapPoint GMSProject ( CLLocationCoordinate2D coordonnées)

Projets coordinate sur la carte.

coordinate doit être valide.

CLLocationCoordinate2D GMSUnproject ( GMSMapPoint point d'accès)

Annule la projet point sur la carte.

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

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

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

L'interpolation a lieu le long du tracé court entre les points susceptibles de traverser la ligne de date. Par exemple, en effectuant une interpolation entre San Francisco et Tokyo, vous passerez par le nord d'Hawaï et traverserez la ligne de date.

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

La longueur est calculée le long du chemin court entre les points susceptibles de traverser la ligne de date. Par exemple, la distance entre les points correspondant à San Francisco et à Tokyo mesure le segment qui passe au nord d'Hawaï au-dessus de 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 d'un chemin d'accès.

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

Le pôle Sud se trouve toujours à l'intérieur, car celui-ci est toujours à l'extérieur.

path décrit les grands segments de cercle si geodesic est "OUI", et les autres segments rhumb (loxodromiques).

Si point est exactement égal à l'un des sommets, le résultat est OUI. 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 la bordure".

Consultez GMSGeometryIsLocationOnPath() pour un test de bordure avec tolérance.

BOOL : GMSGeometryIsLocationOnPathTolerance. ( CLLocationCoordinate2D point d'accès,
GMSPath path,
BOOL geodesic,
CLLocationDistance Tolérance
)

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

path est composé de segments de grands cercles si geodesic est OUI, et de segments de rhumb (loxodromiques) si geodesic est NON.

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

La tolérance, en mètres, est relative 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 de 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, tracé, géodésique, tolérance), avec une tolérance par défaut de 0,1 mètre.

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D from,
CLLocationCoordinate2D au
)

Renvoie la distance du grand cercle entre deux coordonnées, en mètres, sur la 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 grande longueur de cercle de path, en mètres, sur la Terre.

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

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

double GMSGeometryArea ( GMSPath path)

Renvoie l'aire d'un polygone géodésique défini par path sur Terre.

L'"intérieur" du polygone est défini comme ne contenant pas le pôle Sud.

Si path n'est pas fermé, il est 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 (il ne doit pas se chevaucher) et peut être concave.

Si un segment du chemin est une paire de points antipodes, 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 l'aire signée d'un polygone géodésique défini par path sur la Terre.

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

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

CLLocationDirection GMSGeometryHeading ( CLLocationCoordinate2D from,
CLLocationCoordinate2D au
)

Renvoie le cap initial (en degrés dans le sens des aiguilles d'une montre du nord) au 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 heading
)

Renvoie la coordonnée de la destination, lorsque vous commencez à from par le heading initial et parcourez 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 correspondant au fraction donné 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< GMSStrokeStyle * > *  styles
NSArray< NSNumber * > *  longueurs ;
GMSLengthKind lengthKind
)

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

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

Exemple: une polyligne avec des étendues 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< GMSStrokeStyle * > *  styles
NSArray< NSNumber * > *  longueurs ;
GMSLengthKind lengthKind,
double lengthOffset
)

Semblable à GMSStyleSpans(path, styles, lengths, lengthKind), mais accepte é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 de lengths.