GMSGeometryUtils

GMSGeometryUtils

Clases

estructuraGMSMapPoint
 Un punto en el mapa. Más...

Typedefs

struct GMSMapPoint de typedefGMSMapPoint
 Un punto en el mapa.

Funciones

GMSMapPointGMSProject (coordenada CLLocationCoordinate2D)
 Proyectos coordinate en el mapa.
CLLocationCoordinate2DGMSUnproject (punto de GMSMapPoint)
 Anula el proyecto de point del mapa.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, doble t)
 Muestra un punto interpolado linealmente en el segmento [a, b], en la fracción t de a.
dobleGMSMapPointDistance (GMSMapPoint a, GMSMapPoint b)
 Muestra la longitud del segmento [a, b] en el espacio proyectado.
BOOLGMSGeometryContainsLocation (punto de CLLocationCoordinate2D, GMSPath *ruta, línea geodésica BOOL)
 Muestra si point se encuentra dentro de la ruta de acceso.
BOOLGMSGeometryIsLocationOnPathTolerance (punto de CLLocationCoordinate2D, GMSPath *ruta, geodésico BOOL, tolerancia CLLocationDistance)
 Muestra si point se encuentra en path o cerca de esta, dentro del valor de tolerance especificado en metros.
BOOLGMSGeometryIsLocationOnPath (punto de CLLocationCoordinate2D, GMSPath *ruta, línea geodésica BOOL)
 Es igual que GMSGeometryIsLocationOnPath(punto, ruta, área geodésica, tolerancia), con una tolerancia predeterminada de 0.1 metros.
CLLocationDistanceGMSGeometryDistance (CLLocationCoordinate2D desde, CLLocationCoordinate2D hasta)
 Muestra la distancia máxima del círculo entre dos coordenadas, en metros, en la Tierra.
CLLocationDistanceGMSGeometryLength (GMSPath *ruta)
 Muestra la longitud máxima del círculo de path, en metros, en la Tierra.
dobleGMSGeometryArea (*ruta de acceso GMSPath)
 Muestra el área de un polígono geodésico definido por path en Earth.
dobleGMSGeometrySignedArea (GMSPath *ruta)
 Muestra el área con firma de un polígono geodésico definido por path en Earth.
CLLocationDirectionGMSGeometryHeading (CLLocationCoordinate2D desde, CLLocationCoordinate2D hasta)
 Muestra la orientación inicial (grados en sentido horario del norte) en from de la ruta más corta a to.
CLLocationCoordinate2DGMSGeometryOffset (CLLocationCoordinate2D desde, distancia CLLocationDistance y encabezado CLLocationDirections)
 Muestra la coordenada de destino cuando comienza en from con el valor inicial de heading y recorre distance metros a lo largo de un arco circular extenso en la Tierra.
CLLocationCoordinate2DGMSGeometryInterpolate (CLLocationCoordinate2D de, CLLocationCoordinate2D a, fracción doble)
 Muestra la coordenada que se encuentra en el fraction determinado del camino entre las coordenadas from y to en la ruta más corta entre las dos.
NSArray&lt; GMSStyleSpan * > *GMSStyleSpans (GMSPath *ruta de acceso, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind)
 Muestra un NSArray de GMSStyleSpan construido mediante la aplicación repetida de información de estilo y longitud de styles y lengths junto con path.
NSArray&lt; GMSStyleSpan * > *GMSStyleSpansOffset (GMSPath *ruta de acceso, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind, doble lengthOffset)
 Es similar a GMSStyleSpans(ruta, estilos, longitudes, lengthKind), pero además toma un desplazamiento de longitud inicial que se omitirá en relación con el array lengths.

Documentación de typedef

typedef struct GMSMapPoint GMSMapPoint

Un punto en el mapa.

Puede representar una coordenada proyectada.

x está en [-1, 1]. La dirección del eje es normal: y crece hacia el norte, mientras que x crece hacia el este. (0, 0) es el centro del mapa.

Consulta GMSProject() y GMSUnproject().


Documentación de la función

GMSMapPoint GMSProject ( CLLocationCoordinate2D coordenada)

Proyectos coordinate en el mapa.

El campo coordinate debe ser válido.

CLLocationCoordinate2D GMSUnproject ( GMSMapPoint punto)

Anula el proyecto de point del mapa.

El punto.x debe estar en [-1, 1].

Muestra un punto interpolado linealmente en el segmento [a, b], en la fracción t de a.

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

La interpolación tiene lugar a lo largo del trayecto corto entre los puntos que posiblemente cruzan la línea de la fecha. P.ej., la interpolación de San Francisco a Tokio pasará por el norte de Hawái y cruzará la línea de fecha.

Muestra la longitud del segmento [a, b] en el espacio proyectado.

La longitud se calcula a lo largo de la ruta corta entre los puntos que posiblemente cruzan la línea de fecha. P.ej., la distancia entre los puntos correspondientes a San Francisco y Tokio mide el tramo que atraviesa el norte de Hawái cruzando la línea de fecha.

BOOL GMSGeometryContainsLocation ( CLLocationCoordinate2D punto,
GMSPath * ruta de acceso,
BOOL geodésico
)

Muestra si point se encuentra dentro de la ruta de acceso.

La ruta siempre se considera cerrada, independientemente de si el último punto es igual al primero o no.

Interior significa que no contiene el Polo Sur; el Polo Sur siempre está afuera.

path describe los mejores segmentos de círculo si geodesic es SÍ, y los segmentos de margen (loxódrico) en el caso contrario.

Si point es exactamente igual a uno de los vértices, el resultado es SÍ. Un punto que no es igual a un vértice está en un lado o en el otro de cualquier segmento de ruta; nunca puede estar "exactamente en el borde".

Consulta GMSGeometryIsLocationOnPath() para ver una prueba de borde con tolerancia.

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D punto,
GMSPath * ruta de acceso,
BOOL geodésica,
CLLocationDistance tolerancia
)

Muestra si point se encuentra en path o cerca de esta, dentro del valor de tolerance especificado en metros.

path está compuesto por grandes segmentos circulares si geodesic es SÍ y de segmentos de círculo (loxodrómico) si geodesic es NO.

Consulta también GMSGeometryIsLocationOnPath(punto, ruta, geodésico).

La tolerancia, en metros, es relativa al radio esférico de la Tierra. Si necesitas trabajar en una esfera de radio diferente, puedes calcular la tolerancia equivalente a partir de la tolerancia deseada en la esfera del radio R: tolerancia = toleranciaR * (RadiusEarth / R), con RadiusEarth==6371009.

BOOL GMSGeometryIsLocationOnPath ( CLLocationCoordinate2D punto,
GMSPath * ruta de acceso,
BOOL geodésico
)

Es igual que GMSGeometryIsLocationOnPath(punto, ruta, área geodésica, tolerancia), con una tolerancia predeterminada de 0.1 metros.

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D desde,
CLLocationCoordinate2D a
)

Muestra la distancia máxima del círculo entre dos coordenadas, en metros, en la Tierra.

Esta es la distancia más corta entre las dos coordenadas en la esfera.

Ambas coordenadas deben ser válidas.

CLLocationDistance GMSGeometryLength ( GMSPath * path)

Muestra la longitud máxima del círculo de path, en metros, en la Tierra.

Es la suma de GMSGeometryDistance() sobre los segmentos de la ruta.

Todas las coordenadas de la ruta deben ser válidas.

doble GMSGeometryArea ( GMSPath * path)

Muestra el área de un polígono geodésico definido por path en Earth.

El "interior" del polígono se define como que no contiene el polo sur.

Sin embargo, si path no está cerrado, se trata de forma implícita como una ruta de acceso cerrada y el resultado es el mismo.

Todas las coordenadas de la ruta deben ser válidas.

El polígono debe ser simple (no superponerse) y puede ser cóncavo.

Si algún tramo del trazado es un par de puntos antipodales, el resultado es indefinido, porque dos puntos antipodales no forman un segmento circular único en la esfera.

doble GMSGeometrySignedArea ( GMSPath * path)

Muestra el área con firma de un polígono geodésico definido por path en Earth.

El resultado tiene el mismo valor absoluto que GMSGeometryArea(); es positiva si los puntos del trayecto están en el sentido contrario a las manecillas del reloj y negativa en caso contrario.

Se aplican las mismas restricciones que en GMSGeometryArea().

GMSGeometryHeading de CLLocationDirections ( CLLocationCoordinate2D desde,
CLLocationCoordinate2D a
)

Muestra la orientación inicial (grados en sentido horario del norte) en from de la ruta más corta a to.

El valor mostrado está en el rango [0, 360).

Muestra 0 si las dos coordenadas son iguales.

Ambas coordenadas deben ser válidas.

Para obtener el encabezado final en to, puedes usar (GMSGeometryHeading(to, from) + 180) modulo 360.

CLLocationCoordinate2D GMSGeometryOffset ( CLLocationCoordinate2D desde,
CLLocationDistance distancia,
CLLocationDirection encabezado
)

Muestra la coordenada de destino cuando comienza en from con el valor inicial de heading y recorre distance metros a lo largo de un arco circular extenso en la Tierra.

La longitud resultante se encuentra en el rango [-180, 180).

Ambas coordenadas deben ser válidas.

CLLocationCoordinate2D GMSGeometryInterpolate ( CLLocationCoordinate2D desde,
CLLocationCoordinate2D a,
doble fracción
)

Muestra la coordenada que se encuentra en el fraction determinado del camino entre las coordenadas from y to en la ruta más corta entre las dos.

La longitud resultante se encuentra en el rango [-180, 180).

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath * ruta de acceso,
NSArray&lt; GMSStrokeStyle* > * estilos,
NSArray&lt; NSNumber * > * lengths,
GMSLengthKind lengthKind
)

Muestra un NSArray de GMSStyleSpan construido mediante la aplicación repetida de información de estilo y longitud de styles y lengths junto con path.

path es la ruta a lo largo de la cual se calculan los intervalos de salida. styles es un NSArray de GMSStrokeStyle. Se unen si se consumen. Este campo no puede estar vacío. lengths es un NSArray de NSNumber; cada entrada da la longitud del estilo correspondiente de styles. Se unen si se consumen. Este campo no puede estar vacío. lengthKind: Es la interpretación de valores de lengths (geodésica, general o proyectada).

Ejemplo: Una polilínea con intervalos en blanco y negro alternados:

 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 * ruta de acceso,
NSArray&lt; GMSStrokeStyle* > * estilos,
NSArray&lt; NSNumber * > * lengths,
GMSLengthKind lengthKind,
doble lengthOffset
)

Es similar a GMSStyleSpans(ruta, estilos, longitudes, lengthKind), pero además toma un desplazamiento de longitud inicial que se omitirá en relación con el array lengths.

lengthOffset es la longitud (p.ej., en metros) que se debe omitir inicialmente desde lengths.