GMSGeometria

GMSGeometryUtils

Classi

structGMSMapPoint
 Un punto sulla mappa. Altro...

Typedef

struct typedef GMSMapPointGMSMapPoint
 Un punto sulla mappa.

Funzioni

GMSMapPointGMSProject (coordinata di CLLocationCoordinate2D)
 Proietta coordinate sulla mappa.
CLLocationCoordinate2DGMSUnproject (punto GMSMapPoint)
 Annulla il progetto point dalla mappa.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, doppia 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 previsto.
BOOLGMSGeometryContainsLocation (punto CLLocationCoordinate2D, GMSPath *path, geodetica BOOL)
 Restituisce se point si trova all'interno del percorso.
BOOLGMSGeometryIsLocationOnPathTolerance (punto CLLocationCoordinate2D, GMSPath *path, geodetica BOOL, tolleranza CLLocationDistance)
 Restituisce se point si trova su path o nelle sue vicinanze, entro il valore di tolerance specificato in metri.
BOOLGMSGeometryIsLocationOnPath (punto CLLocationCoordinate2D, GMSPath *path, geodetica BOOL)
 Come GMSGeometryIsLocationOnPath(punto, percorso, geodetica, tolleranza), con una tolleranza predefinita di 0,1 metri.
CLLocationDistanceGMSGeometryDistance (da CLLocationCoordinate2D, da CLLocationCoordinate2D a)
 Restituisce la distanza massima del cerchio tra due coordinate, in metri, sulla Terra.
CLLocationDistanceGMSGeometryLength (GMSPath *path)
 Restituisce la lunghezza del cerchio grande path, in metri, sulla Terra.
doppioGMSGeometryArea (GMSPath *path)
 Restituisce l'area di un poligono geodetica definita da path sulla Terra.
doppioGMSGeometrySignedArea (GMSPath *percorso)
 Restituisce l'area selezionata di un poligono geodetica definita da path sulla Terra.
CLLocationDirectionGMSGeometryHeading (CLLocationCoordinate2D da, CLLocationCoordinate2D a)
 Restituisce l'intestazione iniziale (gradi in senso orario rispetto al nord) in corrispondenza di from del percorso più breve per to.
CLLocationCoordinate2DGMSGeometryOffset (da CLLocationCoordinate2D, distanza CLLocationDistance, intestazione CLLocationDirection)
 Restituisce la coordinata della destinazione, partendo da from con heading iniziale, percorrendo distance metri lungo un grande arco circolare sulla Terra.
CLLocationCoordinate2DGMSGeometryInterpolate (CLLocationCoordinate2D da, da CLLocationCoordinate2D a, doppia frazione)
 Restituisce la coordinata che si trova nel fraction specificato tra le coordinate from e to sul percorso più breve tra i due.
NSArray&lt; GMSStyleSpan * > *GMSStyleSpans (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind)
 Restituisce un NSArray di GMSStyleSpan creato mediante l'applicazione ripetuta di informazioni di stile e lunghezza da styles e lengths lungo path.
NSArray&lt; GMSStyleSpan * > *GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind, double lengthOffset)
 Simile a GMSStyleSpans(path, templates, lengths, lengthKind), ma richiede anche un offset di lunghezza iniziale che verrà ignorato rispetto all'array lengths.

Documentazione Typedef

struct typedef GMSMapPoint GMSMapPoint

Un punto sulla mappa.

Può rappresentare una coordinata prevista.

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

Vedi GMSProject() e GMSUnproject().


Documentazione della funzione

GMSMapPoint GMSProject ( CLLocationCoordinate2D coordinata)

Proietta coordinate sulla mappa.

coordinate deve essere valido.

CLLocationCoordinate2D GMSUnproject ( GMSMapPoint punto di accesso)

Annulla il progetto point dalla mappa.

punto.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 di data. Ad es. l'interpolazione da San Francisco a Tokyo attraverserà il nord delle Hawaii e oltrepasserà il limite del giorno.

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

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

BOOL GMSGeometryContainsLocation ( CLLocationCoordinate2D punto di accesso,
GMSPath * path,
BOOL geodetica
)

Restituisce se point si trova all'interno del percorso.

Il percorso viene sempre considerato chiuso, indipendentemente dal fatto che l'ultimo punto corrisponda al primo.

Per "interno" si intende come non contenente il Polo Sud: quest'ultimo è sempre all'esterno.

path descrive i segmenti a grandi circolari se geodesic è SÌ e i segmenti rumb (lossodromici) 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 l'altro di qualsiasi segmento del percorso: non può mai essere "esattamente bordo".

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

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D punto di accesso,
GMSPath * path,
BOOL geodetica,
CLLocationDistance tolleranza
)

Restituisce se point si trova su path o nelle sue vicinanze, entro il valore di tolerance specificato in metri.

path è composta da segmenti a grandi cerchi se geodesic è SÌ e da segmenti rumb (lossodromici) 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 di accesso,
GMSPath * path,
BOOL geodetica
)

Come GMSGeometryIsLocationOnPath(punto, percorso, geodetica, tolleranza), con una tolleranza predefinita di 0,1 metri.

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D da,
CLLocationCoordinate2D a
)

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

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

Entrambe le coordinate devono essere valide.

CLLocationDistance GMSGeometryLength ( GMSPath * percorso)

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

Questa è la somma di GMSGeometryDistance() nei segmenti del percorso.

Tutte le coordinate del percorso devono essere valide.

GMSGeometryArea doppia ( GMSPath * percorso)

Restituisce l'area di un poligono geodetica definita da path sulla Terra.

L'interno del poligono è definita come non contenente 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 si sovrapponga automaticamente) e può essere concavo.

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

GMSGeometrySignedArea doppia ( GMSPath * percorso)

Restituisce l'area selezionata di un poligono geodetica definita da path sulla Terra.

Il risultato ha lo stesso valore assoluto di GMSGeometryArea(). è positivo se i punti del percorso sono in ordine antiorario, altrimenti è negativo.

Si applicano le stesse limitazioni applicate a GMSGeometryArea().

GMSGeometryHeading di CLLocationDirection ( CLLocationCoordinate2D da,
CLLocationCoordinate2D a
)

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

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

Restituisce 0 se le due coordinate sono identiche.

Entrambe le coordinate devono essere valide.

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

CLLocationCoordinate2D GMSGeometryOffset ( CLLocationCoordinate2D da,
CLLocationDistance distanza,
CLLocationDirection intestazione
)

Restituisce la coordinata della destinazione, partendo 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 da,
CLLocationCoordinate2D to,
doppio frazione
)

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

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

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath * path,
NSArray&lt; GMSStrokeStyle* > * styles,
NSArray&lt; Numero NS * > * length,
GMSLengthKind lengthKind
)

Restituisce un NSArray di GMSStyleSpan creato mediante l'applicazione ripetuta di informazioni di stile e lunghezza da styles e lengths lungo path.

path il percorso lungo il quale vengono calcolati gli intervalli di output. styles un NSArray di GMSStrokeStyle. Viene completato se consumato. Non può essere vuoto. lengths un NSArray di NSNumber; ogni voce fornisce la lunghezza dello stile corrispondente da styles. Viene completato se consumato. Non può essere vuoto. lengthKind l'interpretazione dei valori da lengths (geodetica, rumoroso o previsto).

Esempio: una polilinea con intervalli alternati 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&lt; GMSStrokeStyle* > * styles,
NSArray&lt; Numero NS * > * length,
GMSLengthKind lengthKind,
doppio lengthOffset
)

Simile a GMSStyleSpans(path, templates, lengths, lengthKind), ma richiede anche un offset di lunghezza iniziale che verrà ignorato rispetto all'array lengths.

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