Compartilhar via


Xamarin.Forms Mapa de Posição e Distância

O Xamarin.Forms.Maps namespace contém uma Position struct que normalmente é usada ao posicionar um mapa e seus pinos, e uma Distance struct que pode ser opcionalmente usada ao posicionar um mapa.

Cargo

A Position struct encapsula uma posição armazenada como valores de latitude e longitude. Essa estrutura define duas propriedades somente leitura:

  • Latitude, do tipo double, que representa a latitude da posição em graus decimais.
  • Longitude, do tipo double, que representa a longitude da posição em graus decimais.

Position objetos são criados com o Position construtor, que requer argumentos de latitude e longitude especificados como double valores:

Position position = new Position(36.9628066, -122.0194722);

Ao criar um Position objeto, o valor de latitude será fixado entre -90,0 e 90,0, e o valor de longitude será fixado entre -180,0 e 180,0.

Observação

A GeographyUtils classe tem um ToRadians método de extensão que converte um double valor de graus em radianos e um ToDegrees método de extensão que converte um double valor de radianos em graus.

Distância

A Distance struct encapsula uma distância armazenada como um double valor, que representa a distância em metros. Essa estrutura define três propriedades somente leitura:

  • Kilometers, do tipo double, que representa a distância em quilômetros que é percorrida pelo Distance.
  • Meters, do tipo double, que representa a distância em metros que é estendida pelo Distance.
  • Miles, do tipo double, que representa a distância em milhas que é percorrida pelo Distance.

Distance objetos podem ser criados com o Distance construtor, que requer um argumento meters especificado como um double:

Distance distance = new Distance(1450.5);

Como alternativa, Distance os objetos podem ser criados com os FromKilometersmétodos , FromMeters, FromMilese BetweenPositions factory:

Distance distance1 = Distance.FromKilometers(1.45); // argument represents the number of kilometers
Distance distance2 = Distance.FromMeters(1450.5);   // argument represents the number of meters
Distance distance3 = Distance.FromMiles(0.969);     // argument represents the number of miles
Distance distance4 = Distance.BetweenPositions(position1, position2);