GMSGeometria

GMSGeometryUtils

Corsi

structGMSMapPoint
 Un punto sulla mappa. Altro...

Typedef

struct typedef GMSMapPointGMSMapPoint
 Un punto sulla mappa.

Funzioni

GMSMapPoint.GMSProject (coordinata CLLocationCoordinate2D)
 Progetti coordinate sulla mappa.
CLLocationCoordinate2DGMSUnproject (punto GMSMapPoint)
 Annulla i progetti point dalla mappa.
GMSMapPoint.GMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, double t)
 Restituisce un punto interpolato linearmente sul segmento [a, b], nella frazione t di a.
doppioGMSMapPointDistance (GMSMapPoint a, GMSMapPoint b)
 Restituisce la lunghezza del segmento [a, b] nello spazio proiettato.
BOOLGMSGeometryContainsLocation (punto CLLocationCoordinate2D, GMSPath *percorso, geodetica BOOL)
 Indica se point si trova all'interno del percorso.
BOOLGMSGeometryIsLocationOnPathTolerance (punto CLLocationCoordinate2D, GMSPath *percorso, geodetica BOOL, tolleranza CLLocationDistanza)
 Indica se point si trova sopra o vicino a path, entro il valore tolerance specificato in metri.
BOOLGMSGeometryIsLocationOnPath (punto CLLocationCoordinate2D, GMSPath *percorso, geodetica BOOL)
 Uguale a GMSGeometryIsLocationOnPath(punto, percorso, geodetico, tolleranza), con una tolleranza predefinita di 0,1 metri.
CLLocationDistanzaGMSGeometryDistance (CLLocationCoordinate2D da, CLLocationCoordinate2D a)
 Restituisce la distanza del grande cerchio tra due coordinate, in metri, sulla Terra.
CLLocationDistanzaGMSGeometryLength (GMSPath *path)
 Restituisce la lunghezza del grande cerchio di path, in metri, sulla Terra.
doppioGMSGeometryArea (GMSPath *percorso)
 Restituisce l'area di un poligono geodetico definito da path sulla Terra.
doppioGMSGeometrySignedArea (GMSPath *percorso)
 Restituisce l'area firmata di un poligono geodetico definito da path su Earth.
CLLocationDirectionGMSGeometryHeading (CLLocationCoordinate2D da, CLLocationCoordinate2D a)
 Restituisce l'intestazione iniziale (gradi in senso orario rispetto a nord) in corrispondenza di from del percorso più breve verso to.
CLLocationCoordinate2DGMSGeometryOffset (CLLocationCoordinate2D da, CLLocationDistanza distanza, intestazione CLLocationDirection)
 Restituisce la coordinata della destinazione quando inizi da from con heading iniziale, percorrendo distance metri lungo un grande arco circolare sulla Terra.
CLLocationCoordinate2DGMSGeometryInterpolate (CLLocationCoordinate2D da, CLLocationCoordinate2D a, frazione doppia)
 Restituisce la coordinata che si trova nel fraction specificato del percorso tra le coordinate from e to sul percorso più breve tra le due coordinate.
NSArray< GMSStyleSpan * > * GMSStyleSpans (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind)
 Restituisce un NSArray di GMSStyleSpan creato dall'applicazione ripetuta delle informazioni di stile e lunghezza da styles e lengths insieme a path.
NSArray< GMSStyleSpan * > * GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind, double lengthOffset)
 Simile a GMSStyleSpans(path,features, lengths, lengthKind), tuttavia, prevede un offset iniziale della lunghezza che verrà ignorato rispetto all'array lengths.

Documentazione di Typedef

struct typedef GMSMapPoint GMSMapPoint.

Un punto sulla mappa.

Può rappresentare una coordinata prevista.

x è in [-1, 1]. La direzione dell'asse è normale: y cresce verso nord, x cresce verso est. (0, 0) indica il centro della mappa.

Vedi GMSProject() e GMSUnproject().


Documentazione della funzione

GMSMapPoint GMSProject ( CLLocationCoordinate2D coordinata)

Progetti coordinate sulla mappa.

coordinate deve essere valido.

CLLocationCoordinate2D GMSUnproject ( GMSMapPoint. punto di accesso)

Annulla i progetti point dalla mappa.

point.x deve essere in [-1, 1].

Restituisce un punto interpolato linearmente sul segmento [a, b], nella frazione t di a.

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

L'interpolazione avviene lungo il breve percorso tra i punti che potenzialmente superano la linea della data. Ad esempio, un'interpolazione da San Francisco a Tokyo passerà a nord delle Hawaii e supererà la linea del cambio di data.

Restituisce la lunghezza del segmento [a, b] nello spazio proiettato.

La lunghezza viene calcolata lungo il breve percorso tra i punti che potenzialmente superano la linea della data. Ad esempio, la distanza tra i punti corrispondenti a San Francisco e Tokyo misura il segmento che passa a nord delle Hawaii oltrepassando la linea del data.

BOOL GMSGeometryContainsLocation ( CLLocationCoordinate2D punto,
GMSPath path,
BOOL geodetico
)

Indica se point si trova all'interno del percorso.

Il percorso viene sempre considerato chiuso, indipendentemente dal fatto che l'ultimo punto sia uguale al primo o meno.

"Dentro" è definito come non contenere il Polo Sud: il Polo Sud è sempre esterno.

path descrive i grandi segmenti circolari se geodesic è SÌ e i segmenti del pollice (loxodromico) negli altri casi.

Se point è esattamente uguale a uno dei vertici, il risultato è SÌ. Un punto diverso da un vertice si trova su un lato o sull'altro di qualsiasi segmento del percorso: non può mai essere "esattamente sul bordo".

Vedi GMSGeometryIsLocationOnPath() per un test del confine con tolleranza.

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D punto,
GMSPath path,
BOOL geodetico,
CLLocationDistanza tolleranza
)

Indica se point si trova sopra o vicino a path, entro il valore tolerance specificato in metri.

path è composto da grandi segmenti di cerchio se geodesic è SÌ e di segmenti di pollice (loxodromico) se geodesic è NO.

Vedi anche GMSGeometryIsLocationOnPath(punto, percorso, geodetica).

La tolleranza, in metri, è relativa al raggio sferico della Terra. Se devi lavorare su una sfera di raggio diverso, puoi calcolare la tolleranza equivalente dalla tolleranza desiderata sulla sfera di raggio R: tolleranza = tolleranzaR * (RadiusEarth / R), con RadiusEarth==6371009.

BOOL GMSGeometryIsLocationOnPath ( CLLocationCoordinate2D punto,
GMSPath path,
BOOL geodetico
)

Uguale a GMSGeometryIsLocationOnPath(punto, percorso, geodetico, tolleranza), con una tolleranza predefinita di 0,1 metri.

CLLocationDistanza GMSGeometryDistance ( CLLocationCoordinate2D from,
CLLocationCoordinate2D to
)

Restituisce la distanza del grande cerchio tra due coordinate, in metri, sulla Terra.

Questa è la distanza più breve tra le due coordinate nella sfera.

Entrambe le coordinate devono essere valide.

CLLocationDistanza GMSGeometryLength ( GMSPath percorso)

Restituisce la lunghezza del grande cerchio di path, in metri, sulla Terra.

Si tratta della somma di GMSGeometryDistance() per i segmenti del percorso.

Tutte le coordinate del percorso devono essere valide.

doppia GMSGeometryArea ( GMSPath percorso)

Restituisce l'area di un poligono geodetico definito da path sulla Terra.

L'"interno" del poligono indica che non contiene il polo sud.

Se path non viene chiuso, viene comunque considerato implicitamente come un percorso chiuso e il risultato è lo stesso.

Tutte le coordinate del percorso devono essere valide.

Il poligono deve essere semplice (non deve sovrapporsi tra loro) e può essere concavo.

Se un segmento del percorso è una coppia di punti antipodali, il risultato è indefinito, perché due punti antipodi non formano un grande segmento circolare unico nella sfera.

doppia GMSGeometrySignedArea ( GMSPath percorso)

Restituisce l'area firmata di un poligono geodetico definito da path su Earth.

Il risultato ha lo stesso valore assoluto di GMSGeometryArea(); è positivo se i punti del percorso sono in ordine antiorario e negativo negli altri casi.

Si applicano le stesse restrizioni di GMSGeometryArea().

CLLocationDirection GMSGeometryHeading ( CLLocationCoordinate2D from,
CLLocationCoordinate2D to
)

Restituisce l'intestazione iniziale (gradi in senso orario rispetto a nord) in corrispondenza di from del percorso più breve verso to.

Il valore restituito è compreso nell'intervallo [0, 360).

Restituisce 0 se le due coordinate sono uguali.

Entrambe le coordinate devono essere valide.

Per ottenere l'intestazione finale in to, si può utilizzare (GMSGeometryHeading(to, from) + 180) modulo 360.

CLLocationCoordinate2D GMSGeometryOffset ( CLLocationCoordinate2D from,
CLLocationDistanza distanza,
CLLocationDirection intestazione
)

Restituisce la coordinata della destinazione quando inizi da from con heading iniziale, percorrendo distance metri lungo un grande arco circolare sulla Terra.

La longitudine risultante è compresa nell'intervallo [-180, 180).

Entrambe le coordinate devono essere valide.

CLLocationCoordinate2D GMSGeometryInterpolate ( CLLocationCoordinate2D from,
CLLocationCoordinate2D to,
doppio frazione
)

Restituisce la coordinata che si trova nel fraction specificato del percorso tra le coordinate from e to sul percorso più breve tra le due coordinate.

La longitudine risultante è compresa nell'intervallo [-180, 180).

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath path,
NSArray< GMSStrokeStyle * > *  stili,
NSArray< NSNumber * > *  lunghezze,
GMSLengthKind lengthKind
)

Restituisce un NSArray di GMSStyleSpan creato dall'applicazione ripetuta delle informazioni di stile e lunghezza da styles e lengths insieme a path.

path il percorso lungo il quale vengono calcolati gli intervalli di output. styles un NSArray di GMSStrokeStyle. Aggrega se consumati. Non può essere vuoto. lengths un NSArray di NSNumber; ogni voce fornisce la lunghezza dello stile corrispondente a partire da styles. Aggrega se consumati. Non può essere vuoto. lengthKind l'interpretazione dei valori di lengths (dati geografici, rhumb o previsti).

Esempio: una polilinea con sezioni alternate in bianco e nero:

 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 * > *  stili,
NSArray< NSNumber * > *  lunghezze,
GMSLengthKind lengthKind,
doppio lengthOffset
)

Simile a GMSStyleSpans(path,features, lengths, lengthKind), tuttavia, prevede un offset iniziale della lunghezza che verrà ignorato rispetto all'array lengths.

lengthOffset la lunghezza (ad esempio in metri) che dovrebbe essere saltata inizialmente a partire da lengths.