Posición y distancia del mapa Xamarin.Forms
El espacio de nombres Xamarin.Forms.Maps
contiene una estructura Position
que se usa normalmente al colocar un mapa y sus anclajes, y una estructura Distance
que se puede usar opcionalmente al colocar un mapa.
Posición
La estructura Position
encapsula una posición almacenada como valores de latitud y longitud. Esta estructura define dos propiedades de solo lectura:
Latitude
, de tipodouble
, que representa la latitud de la posición en grados decimales.Longitude
, de tipodouble
, que representa la longitud de la posición en grados decimales.
Los objetos Position
se crean con el constructor Position
, que requiere argumentos de latitud y longitud especificados como valores double
:
Position position = new Position(36.9628066, -122.0194722);
Al crear un objeto Position
, el valor de latitud se fijará entre -90,0 y 90,0, y el valor de longitud se fijará entre -180,0 y 180,0.
Nota:
La clase GeographyUtils
tiene un método de extensión ToRadians
que convierte un valor double
de grados a radianes y un método de extensión ToDegrees
que convierte un valor double
de radianes a grados.
Distancia
La estructura Distance
encapsula una distancia almacenada como un valor double
, que representa la distancia en metros. Esta estructura define tres propiedades de solo lectura:
Kilometers
, de tipodouble
, que representa la distancia en kilómetros que abarcaDistance
.Meters
, de tipodouble
, que representa la distancia en metros que abarcaDistance
.Miles
, de tipodouble
, que representa la distancia en millas que abarcaDistance
.
Los objetos Distance
se pueden crear con el constructor Distance
, que requiere un argumento de metros especificado como double
:
Distance distance = new Distance(1450.5);
Como alternativa, los objetos Distance
se pueden crear con los métodos de fábrica FromKilometers
FromMeters
, FromMiles
y 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);