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


Windows.Devices.Geolocation Пространство имен

Предоставляет API для получения текущего расположения или отслеживания местоположения устройства с течением времени. Сведения о местоположении могут поступать из оценки положения маяков, таких как Wi-Fi точки доступа и башни сотовой связи, с IP-адреса устройства, или из других источников, таких как устройство GNSS или GPS. API Windows.Devices.Geolocation предоставляет наиболее подходящие данные о геолокации из всех доступных источников.

Точность сведений о расположении зависит от источника. Широта и долгота могут отличаться в следующих диапазонах:

  • GPS: в пределах приблизительно 10 метров
  • Wi-Fi: от 30 до 500 метров
  • Башни сотовой связи: от приблизительно 300 метров до 3000 метров
  • IP-адрес: от приблизительно 1000 метров до 5000 метров

В дополнение к широте и долготе, GPS также предоставляет информацию о направлении, скорости и высоте. Эти дополнительные сведения являются необязательными, если сведения о расположении поступают из других источников.

Пользователь устанавливает уровень защиты данных о расположении с помощью настроек конфиденциальности сведений о расположении в разделе приложения Настройки. Ваше приложение может получить доступ к расположению пользователя только в следующих случаях:

  • Расположение для этого устройства...включен (неприменимо к Windows 10 Mobile)
  • Параметр Местоположение служб определения местоположения включен
  • В разделе Выберите приложения, которым будет разрешено использовать данные о вашем местоположении для вашего приложения установлено значение Вкл.

Дополнительные сведения о конфиденциальности расположения см. в заявлении о конфиденциальности Windows.

Важно!

Начиная с Windows 10, вызовите RequestAccessAsync перед доступом к расположению пользователя. В этот момент ваше приложение должно находиться на переднем плане, а из потока пользовательского интерфейса должен быть вызван метод RequestAccessAsync. До тех пор пока пользователь не предоставит вашему приложению разрешение на доступ к данным о местоположении, приложение не сможет использовать такие данные.

Архитектура служб определения местоположения

Первый уровень архитектуры служб определения местоположения состоит из оборудования на устройстве. Сюда входит gps-приемник, Wi-Fi и сотовое радио. Все они могут работать в качестве поставщиков данных о местоположении с различными уровнями точности и энергопотребления. Поверх оборудования находится уровень машинного кода. Этот уровень напрямую взаимодействует с доступными источниками данных о расположении и решает, какие источники следует использовать для определения расположения устройства на основе доступности данных и требований к производительности, заданных приложением. Уровень машинного кода также взаимодействует через Интернет с веб-службой, размещенной корпорацией Майкрософт, для поиска сведений о расположении из базы данных. Верхний уровень службы определения местоположения — это управляемый интерфейс, предоставляемый через библиотеку DLL, которая входит в состав Windows SDK. Приложение использует этот интерфейс для запуска и остановки запросов о расположении, для установки уровня точности, необходимого приложению, и для получения данных о расположении из уровня машинного кода по мере их доступности.

Классы

CivicAddress

Неподдерживаемый API.

GeoboundingBox

Представляет прямоугольник, определяющий географическую область.

Geocircle

Описывает географический круг с центральной точкой и радиусом.

Geocoordinate

Содержит сведения для определения географического расположения.

GeocoordinateSatelliteData

Предоставляет дополнительные сведения о геообъекте. Эта информация применима только к оценкам положения, полученным с помощью спутниковых сигналов.

Geolocator

Предоставляет доступ к текущему географическому расположению.

Geopath

Представляет упорядоченный ряд географических точек.

Geopoint

Описывает географическую точку.

Geoposition

Представляет расположение, которое может содержать данные широты и долготы или данные о месте проведения.

Geovisit

Представляет изменение состояния, связанного с посещением. Сведения об использовании этой функции см. в разделе Рекомендации по использованию отслеживания посещений .

GeovisitMonitor

Обрабатывает мониторинг посещений пользователя, когда приложение используется (не в фоновом режиме).

GeovisitStateChangedEventArgs

Содержит сведения о событии VisitStateChanged .

GeovisitTriggerDetails

Управляет сведениями о триггере для фоновой задачи, связанной с посещениями.

PositionChangedEventArgs

Предоставляет данные для события PositionChanged .

StatusChangedEventArgs

Предоставляет сведения для события StatusChanged .

VenueData

Представляет место проведения, связанное с географическим расположением.

Структуры

BasicGeoposition

Основные сведения для описания географического положения.

Интерфейсы

IGeoshape

Интерфейс для определения географической фигуры.

Перечисления

AltitudeReferenceSystem

Указывает систему ссылок высоты, которая будет использоваться при определении географической фигуры.

GeolocationAccessStatus

Указывает, имеет ли ваше приложение разрешение на доступ к данным о расположении.

GeoshapeType

Указывает форму географического региона.

PositionAccuracy

Указывает запрошенный уровень точности для данных о расположении, которые использует приложение.

PositionSource

Указывает источник, используемый для получения геообъекта.

PositionStatus

Указывает возможность объекта Geolocator предоставлять данные о расположении.

VisitMonitoringScope

Содержит значения, описывающие предполагаемую область мониторинга расположения для использования с функцией посещений.

VisitStateChange

Содержит значения, описывающие изменение состояния, связанное с посещением.

Примеры

Примеры приложений, которые используют классы из этого пространства имен, включают пример геолокации и пример Geotag.

См. также раздел