Xamarin.Forms Posição e distância do mapa
O Xamarin.Forms.Maps
namespace contém um Position
struct que normalmente é usado ao posicionar um mapa e seus pinos e um Distance
struct que pode ser usado opcionalmente ao posicionar um mapa.
Cargo
O Position
struct encapsula uma posição armazenada como valores de latitude e longitude. Esse struct define duas propriedades somente leitura:
Latitude
, do tipodouble
, que representa a latitude da posição em graus decimais.Longitude
, do tipodouble
, que representa a longitude da posição em graus decimais.
Position
Os objetos são criados com o construtor, que Position
requer argumentos de latitude e longitude especificados como double
valores:
Position position = new Position(36.9628066, -122.0194722);
Ao criar um objeto Position
, 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 classe GeographyUtils
tem um método de extensão ToRadians
que converte um valor double
de graus em radianos e um método de extensão ToDegrees
que converte um valor double
de radianos em graus.
Distância
O struct Distance
encapsula uma distância armazenada como um valor double
, que representa a distância em metros. Esse struct define três propriedades somente leitura:
Kilometers
, do tipodouble
, que representa a distância em quilômetros que é abrangida peloDistance
.Meters
, do tipodouble
, que representa a distância em metros que é abrangida peloDistance
.Miles
, do tipodouble
, que representa a distância em milhas que é abrangida peloDistance
.
Os objetos Distance
podem ser criados com o construtor Distance
, que requer um argumento de metros especificado como um double
:
Distance distance = new Distance(1450.5);
Como alternativa, os objetos Distance
podem ser criados com os métodos de fábrica FromKilometers
, FromMeters
, FromMiles
e BetweenPositions
:
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);