Udostępnij za pomocą


Xamarin.Forms Położenie i odległość mapy

Xamarin.Forms.Maps Przestrzeń nazw zawiera Position strukturę, która jest zwykle używana podczas pozycjonowania mapy i jej pinezek oraz struktury, Distance która może być opcjonalnie używana podczas pozycjonowania mapy.

Position

Struktura Position hermetyzuje pozycję przechowywaną jako wartości szerokości i długości geograficznej. Ta struktura definiuje dwie właściwości tylko do odczytu:

  • Latitude, typu double, który reprezentuje szerokość geograficzną położenia w stopniach dziesiętnych.
  • Longitude, typu double, który reprezentuje długość geograficzną położenia w stopniach dziesiętnych.

Position obiekty są tworzone za pomocą konstruktora Position , który wymaga argumentów szerokości i długości geograficznej określonej jako double wartości:

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

Podczas tworzenia Position obiektu wartość szerokości geograficznej zostanie zaciśnięta między -90,0 i 90,0, a wartość długości geograficznej zostanie zaciśnięta między -180.0 a 180.0.

Uwaga

Klasa GeographyUtils ma metodę ToRadians rozszerzenia, która konwertuje double wartość z stopni na radiany i metodę ToDegrees rozszerzenia, która konwertuje double wartość z radianów na stopnie.

Odległość

Struktura Distance hermetyzuje odległość przechowywaną double jako wartość, która reprezentuje odległość w metrach. Ta struktura definiuje trzy właściwości tylko do odczytu:

  • Kilometers, typu double, który reprezentuje odległość w kilometrach, które obejmują Distancewartość .
  • Meters, typu double, który reprezentuje odległość w metrach, które obejmują Distancewartość .
  • Miles, typu double, który reprezentuje odległość w milach rozpiętą przez Distance.

Distance obiekty można utworzyć za pomocą konstruktora, który wymaga argumentu Distance mierników określonego doublejako :

Distance distance = new Distance(1450.5);

Alternatywnie Distance można tworzyć obiekty za pomocą FromKilometersmetod , FromMeters, FromMilesi BetweenPositions fabryki:

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);