GMSGeoUtils

GMSGeometryUtils

Turmas

estruturaGMSMapPoint
 Um ponto no mapa. Mais...

Typedefs

struct typedef GMSMapPointGMSMapPoint
 Um ponto no mapa.

Funções

GMSMapPointGMSProject (coordenada CLLocationCoordinate2D)
 Projeta coordinate no mapa.
CLLocationCoordinate2DGMSUnproject (ponto GMSMapPoint)
 Cancela a implantação de point no mapa.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, t duplo)
 Retorna um ponto interpolado linear no segmento [a, b], na fração t de a.
duplaGMSMapPointDistance (GMSMapPoint a, GMSMapPoint b)
 Retorna o comprimento do segmento [a, b] no espaço projetado.
BOOLGMSGeometryContainsLocation (ponto CLLocationCoordinate2D, GMSPath *path, geodésico BOOL)
 Retorna se point está dentro do caminho.
BOOLGMSGeometryIsLocationOnPathTolerance (ponto CLLocationCoordinate2D, GMSPath *path, BOOL geodésico, tolerância CLLocationDistance)
 Retorna se point fica em path ou perto de, dentro do tolerance especificado em metros.
BOOLGMSGeometryIsLocationOnPath (ponto CLLocationCoordinate2D, GMSPath *path, BOOL geodésico)
 O mesmo que GMSGeometryIsLocationOnPath(point, path, geodésico, tolerância), com uma tolerância padrão de 0,1 metro.
CLLocationDistanceGMSGeometryDistance (de CLLocationCoordinate2D de, CLLocationCoordinate2D para)
 Retorna a grande distância do círculo entre duas coordenadas, em metros, na Terra.
CLLocationDistanceGMSGeometryLength (*caminho GMSPath)
 Retorna o comprimento do círculo grande de path, em metros, na Terra.
duplaGMSGeometryArea (GMSPath *caminho)
 Retorna a área de um polígono geodésico definido por path na Terra.
duplaGMSGeometrySignedArea (*caminho GMSPath)
 Retorna a área sinalizada de um polígono geodésico definido por path na Terra.
CLLocationDirectionGMSGeometryHeading (CLLocationCoordinate2D de, CLLocationCoordinate2D para)
 Retorna a direção inicial (graus no sentido horário do Norte) em from do caminho mais curto para to.
CLLocationCoordinate2DGMSGeometryOffset (CLLocationCoordinate2D de, CLLocationDistance distância, cabeçalho de CLLocationDirection)
 Retorna a coordenada de destino, ao começar em from com heading inicial, viajando distance metros ao longo de um grande arco circular, na Terra.
CLLocationCoordinate2DGMSGeometryInterpolate (CLLocationCoordinate2D de, CLLocationCoordinate2D para, fração dupla)
 Retorna a coordenada que se baseia no fraction especificado no caminho entre as coordenadas from e to no caminho mais curto entre os dois.
NSArray&lt; GMSStyleSpan * > *GMSStyleSpans (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind)
 Retorna um NSArray de GMSStyleSpan construído pela aplicação repetida de informações de estilo e comprimento de styles e lengths em path.
NSArray&lt; GMSStyleSpan * > *GMSStyleSpansOffset (GMSPath *caminho, NSArray< GMSStrokeStyle * > *estilos, NSArray< NSNumber * > *comprimentos, GMSLengthKind lengthKind, double lengthoffset)
 Semelhante a GMSStyleSpans(path, estilos, lengths, lengthKind), mas também usa um deslocamento de comprimento inicial que será ignorado em relação à matriz lengths.

Documentação de Typedef

typedef struct GMSMapPoint GMSMapPoint

Um ponto no mapa.

Pode representar uma coordenada projetada.

x está em [-1, 1]. A direção do eixo é normal: y cresce em direção ao norte, x cresce em direção ao leste. (0, 0) é o centro do mapa.

Consulte GMSProject() e GMSUnproject().


Documentação de funções

GMSMapPoint GMSProject ( CLLocationCoordinate2D coordenada)

Projeta coordinate no mapa.

coordinate precisa ser válido.

CLLocationCoordinate2D GMSUnproject ( GMSMapPoint ponto)

Cancela a implantação de point no mapa.

ponto.x precisa estar em [-1, 1].

Retorna um ponto interpolado linear no segmento [a, b], na fração t de a.

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

A interpolação ocorre ao longo do caminho curto entre os pontos que podem cruzar a linha de data. Por exemplo: a interpolação de São Francisco para Tóquio passará ao norte do Havaí e cruzará a linha de data.

Retorna o comprimento do segmento [a, b] no espaço projetado.

O comprimento é calculado ao longo do caminho curto entre os pontos que podem cruzar a linha de data. Por exemplo: a distância entre os pontos correspondentes a São Francisco e Tóquio mede o trecho que passa ao norte do Havaí e cruza a linha de data.

BOOL GMSGeometryContainsLocation ( CLLocationCoordinate2D ponto,
GMSPath * path,
BOOL geodésica
)

Retorna se point está dentro do caminho.

O caminho é sempre considerado fechado, independentemente de o último ponto ser igual ao primeiro ou não.

"Dentro" significa que não contém o Polo Sul, o Polo Sul está sempre do lado de fora.

path descreve segmentos de círculo ótimos se geodesic for SIM, e segmentos de rhumb (loxodrômico) caso contrário.

Se point for exatamente igual a um dos vértices, o resultado será YES. Um ponto diferente de um vértice está em um lado ou no outro de qualquer segmento de caminho. Ele nunca pode estar "exatamente no borda".

Consulte GMSGeometryIsLocationOnPath() para obter um teste de borda com tolerância.

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D ponto,
GMSPath * path,
BOOL geodesic,
CLLocationDistance tolerância
)

Retorna se point fica em path ou perto de, dentro do tolerance especificado em metros.

path é composto por grandes segmentos de círculo se geodesic for SIM, e por segmentos de loxodrômico se geodesic for NO.

Consulte também GMSGeometryIsLocationOnPath(ponto, caminho, geodésico).

A tolerância, em metros, é relativa ao raio esférico da Terra. Se você precisar trabalhar em uma esfera com um raio diferente, poderá calcular a tolerância equivalente da tolerância desejada na esfera do raio R: tolerância = tolerânciaR * (RAioTerra / R), com RAdeTara==6371009.

BOOL GMSGeometryIsLocationOnPath ( CLLocationCoordinate2D ponto,
GMSPath * path,
BOOL geodésica
)

O mesmo que GMSGeometryIsLocationOnPath(point, path, geodésico, tolerância), com uma tolerância padrão de 0,1 metro.

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D de,
CLLocationCoordinate2D a
)

Retorna a grande distância do círculo entre duas coordenadas, em metros, na Terra.

Esta é a menor distância entre as duas coordenadas na esfera.

As duas coordenadas devem ser válidas.

CLLocationDistance GMSGeometryLength ( GMSPath * path)

Retorna o comprimento do círculo grande de path, em metros, na Terra.

Esta é a soma de GMSGeometryDistance() sobre os segmentos de caminho.

Todas as coordenadas do caminho precisam ser válidas.

GMSGeometryArea duplo ( GMSPath * path)

Retorna a área de um polígono geodésico definido por path na Terra.

O "interior" do polígono significa que ela não contém o polo sul.

Se path não estiver fechado, ele será tratado implicitamente como um caminho fechado, e o resultado será o mesmo.

Todas as coordenadas do caminho precisam ser válidas.

O polígono precisa ser simples (não sobreposto) e côncavo.

Se algum segmento do caminho for um par de pontos antipodais, o resultado será indefinido, pois dois pontos antipodais não formam um segmento de grande círculo único na esfera.

GMSGeometrySignedArea duplo ( GMSPath * path)

Retorna a área sinalizada de um polígono geodésico definido por path na Terra.

O resultado tem o mesmo valor absoluto que GMSGeometryArea() será positivo se os pontos do caminho estiverem em sentido anti-horário e negativo se não estiver.

As mesmas restrições que em GMSGeometryArea() se aplicam.

CLLocationDirections GMSGeometryHeading ( CLLocationCoordinate2D de,
CLLocationCoordinate2D a
)

Retorna a direção inicial (graus no sentido horário do Norte) em from do caminho mais curto para to.

O valor retornado está no intervalo [0, 360).

Retorna 0 se as duas coordenadas forem iguais.

As duas coordenadas devem ser válidas.

Para chegar ao título final em to, é possível usar (GMSGeometryHeading(to, from) + 180) módulo 360.

CLLocationCoordinate2D GMSGeometryOffset ( CLLocationCoordinate2D de,
CLLocationDistance distance,
CLLocationDirection título
)

Retorna a coordenada de destino, ao começar em from com heading inicial, viajando distance metros ao longo de um grande arco circular, na Terra.

A longitude resultante está no intervalo [-180, 180).

As duas coordenadas devem ser válidas.

CLLocationCoordinate2D GMSGeometryInterpolate ( CLLocationCoordinate2D de,
CLLocationCoordinate2D to,
dupla fração
)

Retorna a coordenada que se baseia no fraction especificado no caminho entre as coordenadas from e to no caminho mais curto entre os dois.

A longitude resultante está no intervalo [-180, 180).

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath * path,
NSArray&lt; GMSStrokeStyle * > * estilos,
NSArray&lt; Número de NS* > * comprimentos,
GMSLengthKind lengthKind
)

Retorna um NSArray de GMSStyleSpan construído pela aplicação repetida de informações de estilo e comprimento de styles e lengths em path.

path: o caminho em que os períodos de saída são calculados. styles um NSArray de GMSStrokeStyle. Encapsuladores, se consumidos. Não pode ficar em branco. lengths um NSArray de NSNumber; cada entrada fornece o comprimento do estilo correspondente de styles. Encapsuladores, se consumidos. Não pode ficar em branco. lengthKind: a interpretação de valores de lengths (geodésica, rrumb ou projetada).

Exemplo: uma polilinha com intervalos pretos e brancos 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 * path,
NSArray&lt; GMSStrokeStyle * > * estilos,
NSArray&lt; Número de NS* > * comprimentos,
GMSLengthKind lengthKind,
dupla lengthOffset
)

Semelhante a GMSStyleSpans(path, estilos, lengths, lengthKind), mas também usa um deslocamento de comprimento inicial que será ignorado em relação à matriz lengths.

lengthOffset é o comprimento (por exemplo, em metros) que será ignorado inicialmente de lengths.