Поделиться через


Xamarin.Forms Расположение карты и расстояние

Пространство Xamarin.Forms.Maps имен содержит Position структуру, которая обычно используется при расположении карты и его закреплений, а Distance также структуру, которую можно использовать при расположении карты.

Position

Структуру Position инкапсулирует позицию, хранящуюся в виде значений широты и долготы. Эта структура определяет два свойства только для чтения:

  • Latitudedoubleтип, представляющий широту позиции в десятичных градусах.
  • Longitudedoubleтипа, который представляет долготу позиции в десятичных градусах.

Position Объекты создаются с помощью конструктора Position , для которого требуются аргументы широты и долготы, указанные в качестве double значений:

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

При создании Position объекта значение широты будет зажато в диапазоне от –90,0 до 90,0, а значение долготы будет зажато в диапазоне от –180,0 до 180,0.

Примечание.

Класс GeographyUtils имеет ToRadians метод расширения, который преобразует double значение из градусов в радианы, и ToDegrees метод расширения, который преобразует double значение из радианов в градусы.

расстояние;

Структуру Distance инкапсулирует расстояние, хранящееся в виде double значения, которое представляет расстояние в метрах. Эта структура определяет три свойства только для чтения:

  • Kilometersdoubleтип , который представляет расстояние в километрах, охватываемых Distance.
  • Meters, тип double, который представляет расстояние в метрах, охватываемом Distance.
  • Miles, типа double, который представляет расстояние в милях, охватываемых Distance.

Distance Объекты можно создавать с помощью конструктора Distance , для которого требуется аргумент счетчиков, указанный doubleв качестве:

Distance distance = new Distance(1450.5);

Кроме того, Distance объекты можно создавать с FromMilesFromKilometersFromMetersпомощью методов , и 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);