Xamarin.Forms Posizione e distanza della mappa

Lo Xamarin.Forms.Maps spazio dei nomi contiene uno Position struct che viene in genere usato per posizionare una mappa e i relativi puntini e uno Distance struct che può essere usato facoltativamente durante il posizionamento di una mappa.

Posizione

Lo Position struct incapsula una posizione archiviata come valori di latitudine e longitudine. Questo struct definisce due proprietà di sola lettura:

  • Latitude, di tipo double, che rappresenta la latitudine della posizione in gradi decimali.
  • Longitude, di tipo double, che rappresenta la longitudine della posizione in gradi decimali.

Position gli oggetti vengono creati con il Position costruttore , che richiede argomenti di latitudine e longitudine specificati come double valori:

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

Quando si crea un Position oggetto, il valore di latitudine verrà bloccato tra -90,0 e 90,0 e il valore di longitudine verrà bloccato tra -180,0 e 180,0.

Nota

La GeographyUtils classe ha un ToRadians metodo di estensione che converte un double valore da gradi a radianti e un ToDegrees metodo di estensione che converte un double valore da radianti a gradi.

Distanza

Lo Distance struct incapsula una distanza archiviata come double valore, che rappresenta la distanza in metri. Questo struct definisce tre proprietà di sola lettura:

  • Kilometers, di tipo double, che rappresenta la distanza in chilometri estesa da Distance.
  • Meters, di tipo double, che rappresenta la distanza in metri estesa da Distance.
  • Miles, di tipo double, che rappresenta la distanza in miglia estese dall'oggetto Distance.

Distance Gli oggetti possono essere creati con il Distance costruttore , che richiede un argomento contatore specificato come double:

Distance distance = new Distance(1450.5);

In alternativa, Distance gli oggetti possono essere creati con i FromKilometersmetodi factory , FromMetersFromMiles, 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);