GMSGeometryUtils

GMSGeometryUtils

Clases

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

Typedefs

typedef struct GMSMapPointGMSMapPoint
 Un punto en el mapa

Funciones

GMSMapPointGMSProject (coordenada de CLLocationCoordinate2D)
 Proyectos coordinate en el mapa.
CLLocationCoordinate2DGMSUnproject (punto de GMSMapPoint)
 Anula el proyecto de point del mapa.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, double 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, geodésico BOOL)
 Muestra si point se encuentra dentro de la ruta de acceso.
BOOLGMSGeometryIsLocationOnPathTolerance (punto de CLLocationCoordinate2D, GMSPath *ruta, geodésico BOOL, tolerancia de CLLocationDistance)
 Muestra si point se encuentra en path o cerca de él, dentro del tolerance especificado en metros.
BOOLGMSGeometryIsLocationOnPath (punto de CLLocationCoordinate2D, GMSPath *ruta, geodésico BOOL)
 Igual que GMSGeometryIsLocationOnPath(punto, ruta, línea geodésica, tolerancia), con una tolerancia predeterminada de 0.1 metros
CLLocationDistanceGMSGeometryDistance (de CLLocationCoordinate2D y de CLLocationCoordinate2D a)
 Muestra la distancia máxima de un círculo entre dos coordenadas, en metros, en la Tierra.
CLLocationDistanceGMSGeometryLength (GMSPath *ruta de acceso)
 Muestra la longitud del círculo máximo de path, en metros, en la Tierra.
dobleGMSGeometryArea (GMSPath *ruta)
 Muestra el área de un polígono geodésico definido por path en la Tierra.
dobleGMSGeometrySignedArea (GMSPath *path)
 Muestra el área con firma de un polígono geodésico definido por path en la Tierra.
CLLocationDirectionGMSGeometryHeading (CLLocationCoordinate2D from, CLLocationCoordinate2D a)
 Muestra la orientación inicial (grados en el sentido de las manecillas del reloj del Norte) en el from de la ruta más corta a to.
CLLocationCoordinate2DGMSGeometryOffset (desde CLLocationCoordinate2D, distancia CLLocationDistance, encabezado CLLocationDirection)
 Muestra la coordenada de destino, cuando comienza en from con un valor inicial de heading, se desplaza distance metros a lo largo de un arco circular máximo en la Tierra.
CLLocationCoordinate2DGMSGeometryInterpolate (CLLocationCoordinate2D de, CLLocationCoordinate2D a, doble fracción)
 Muestra la coordenada que se encuentra en el fraction determinado del camino entre las coordenadas from y to en el trazado más corto entre las dos.
NSArray< GMSStyleSpan * > * GMSStyleSpans (GMSPath *path, 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 desde styles y lengths junto con path.
NSArray< GMSStyleSpan * > * GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind, doble lengthOffset)
 Es similar a GMSStyleSpans(path, estilos, lengths, 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, y x, hacia el este. (0, 0) es el centro del mapa.

Consulta GMSProject() y GMSUnproject().


Documentación de funciones

GMSProjectGMSMapPoint ( CLLocationCoordinate2D coordenada)

Proyectos coordinate en el mapa.

coordinate debe ser válido.

GMSUnproject de CLLocationCoordinate2D ( GMSMapPoint punto)

Anula el proyecto de point del mapa.

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 se produce a lo largo de la corta trayectoria entre los puntos que podrían cruzar la línea de 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 podrían cruzar la línea de fecha. Por ejemplo, la distancia entre los puntos correspondientes a San Francisco y Tokio mide el tramo que pasa por el norte de Hawái cruzando la línea de fecha.

BOOL GMSGeometryContainsLocation ( CLLocationCoordinate2D punto,
GMSPath path,
BOOL geodésico
)

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

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

“Interior” se define como la no contiene el Polo Sur; el Polo Sur siempre está afuera.

path describe los segmentos de círculo muy buenos si geodesic es SÍ y los segmentos de círculo (loxodrómico) en 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 se encuentra en un lado o en el otro de cualquier segmento de ruta; nunca puede estar "exactamente en el borde".

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

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D punto,
GMSPath path,
BOOL geodésico,
CLLocationDistance tolerancia
)

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

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

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

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 de radio R: tolerancia = toleranciaR * (RadiusEarth / R), con RadiusEarth==6371009.

BOOL GMSGeometryIsLocationOnPath ( CLLocationCoordinate2D punto,
GMSPath path,
BOOL geodésico
)

Igual que GMSGeometryIsLocationOnPath(punto, ruta, línea geodésica, tolerancia), con una tolerancia predeterminada de 0.1 metros

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D desde,
CLLocationCoordinate2D a
)

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

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

Ambas coordenadas deben ser válidas.

CLLocationDistance GMSGeometryLength. ( GMSPath path)

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

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

Todas las coordenadas del trazado deben ser válidas.

doble de GMSGeometryArea ( GMSPath path)

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

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

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

Todas las coordenadas del trazado deben ser válidas.

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

Si cualquier segmento de la ruta es un par de puntos antipodales, el resultado es indefinido porque dos puntos antipodales no forman un segmento único de un círculo grande en la esfera.

doble de GMSGeometrySignedArea ( GMSPath path)

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

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

Se aplican las mismas restricciones que en GMSGeometryArea().

Dirección de ubicación de CL GMSGeometryHeading ( CLLocationCoordinate2D desde,
CLLocationCoordinate2D a
)

Muestra la orientación inicial (grados en el sentido de las manecillas del reloj del Norte) en el from de la ruta más corta a to.

El valor que se muestra 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) módulo 360.

GMSGeometryOffset de CLLocationCoordinate2D ( CLLocationCoordinate2D desde,
CLLocationDistance distancia,
CLLocationDirection heading
)

Muestra la coordenada de destino, cuando comienza en from con un valor inicial de heading, se desplaza distance metros a lo largo de un arco circular máximo en la Tierra.

La longitud resultante está en el intervalo [-180, 180).

Ambas coordenadas deben ser válidas.

GMSGeometryInterpolate de CLLocationCoordinate2D ( 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 el trazado más corto entre las dos.

La longitud resultante está en el intervalo [-180, 180).

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath path,
NSArray< GMSStrokeStyle * > *  estilos,
NSArray< NSNumber * > *  lengths,
GMSLengthKind lengthKind
)

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

path es la ruta de acceso a través de la cual se calculan los intervalos de salida. styles: Es un NSArray de GMSStrokeStyle. Cierres si se consumen. Este campo no puede estar vacío. lengths: Es un NSArray de NSNumber; cada entrada proporciona la longitud del estilo correspondiente desde styles. Cierres si se consumen. Este campo no puede estar vacío. lengthKind es la interpretación de valores de lengths (geodésica, rhumb o proyectada).

Ejemplo: una polilínea con intervalos en blanco y negro alternativos:

 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 * > *  estilos,
NSArray< NSNumber * > *  lengths,
GMSLengthKind lengthKind
doble lengthOffset
)

Es similar a GMSStyleSpans(path, estilos, lengths, 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 de lengths.