Partager via


Xamarin.Forms Position et distance de la carte

L’espace Xamarin.Forms.Maps de noms contient un Position struct généralement utilisé lors du positionnement d’une carte et de ses broches, et d’un Distance struct qui peut éventuellement être utilisé lors du positionnement d’une carte.

Position

Le Position struct encapsule une position stockée sous forme de valeurs de latitude et de longitude. Ce struct définit deux propriétés en lecture seule :

  • Latitude, de type double, qui représente la latitude de la position en degrés décimaux.
  • Longitude, de type double, qui représente la longitude de la position en degrés décimaux.

Position les objets sont créés avec le Position constructeur, qui nécessite des arguments de latitude et de longitude spécifiés en tant que double valeurs :

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

Lors de la création d’un objet Position, la valeur de latitude est limitée entre -90,0 et 90,0, et la valeur de longitude est limitée entre -180,0 et 180,0.

Remarque

La classe GeographyUtils a une méthode d’extension ToRadians qui convertit une valeur double de degrés en radians, et une méthode d’extension ToDegrees qui convertit une valeur double de radians en degrés.

Distance

Le struct Distance encapsule une distance stockée sous forme de valeur double, qui représente la distance en mètres. Ce struct définit trois propriétés en lecture seule :

  • Kilometers, de type double, qui représente la distance en kilomètres couverte par le Distance.
  • Meters, de type double, qui représente la distance en mètres couverte par le Distance.
  • Miles, de type double, qui représente la distance en miles couverte par le Distance.

Les objets Distance peuvent être créés avec le constructeur Distance, ce qui nécessite un argument de mètres spécifié sous forme de double :

Distance distance = new Distance(1450.5);

Vous pouvez également créer des objets Distance avec les méthodes de fabrique FromKilometers, FromMeters, FromMiles et 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);