Geolocator.GetGeopositionAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
GetGeopositionAsync() |
Запускает асинхронную операцию для получения текущего расположения устройства. |
GetGeopositionAsync(TimeSpan, TimeSpan) |
Запускает асинхронную операцию для получения текущего расположения устройства. |
GetGeopositionAsync()
Запускает асинхронную операцию для получения текущего расположения устройства.
public:
virtual IAsyncOperation<Geoposition ^> ^ GetGeopositionAsync() = GetGeopositionAsync;
/// [Windows.Foundation.Metadata.Overload("GetGeopositionAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<Geoposition> GetGeopositionAsync();
[Windows.Foundation.Metadata.Overload("GetGeopositionAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<Geoposition> GetGeopositionAsync();
function getGeopositionAsync()
Public Function GetGeopositionAsync () As IAsyncOperation(Of Geoposition)
Возвращаемое значение
Асинхронная операция, которая после завершения возвращает геопозицию , помечающую найденное расположение.
- Атрибуты
Требования к Windows
Возможности приложения |
location
ID_CAP_LOCATION [Windows Phone]
|
Комментарии
Этот метод создает исключение, если приложение не имеет разрешений на расположение или если истекает время ожидания без получения данных о расположении. Поэтому метод следует вызывать в инструкции try/catch, чтобы можно было обрабатывать эти распространенные случаи исключений.
Время ожидания этого метода истекает через 60 секунд, за исключением случаев, когда в режиме ожидания с подключением. Во время ожидания с подключением можно создавать экземпляры объектов Geolocator , но объект Geolocator не найдет никаких датчиков для агрегирования, а время ожидания вызовов GetGeopositionAsync истекает через 7 секунд. После истечения времени ожидания прослушиватели событий StatusChanged будут вызываться один раз с состоянием NoData , а прослушиватели событий PositionChanged никогда не будут вызываться.
Пользователь устанавливает уровень защиты данных о расположении с помощью настроек конфиденциальности сведений о расположении в разделе приложения Настройки. Ваше приложение может получить доступ к расположению пользователя только в следующих случаях:
- Расположение этого устройства...включен (неприменимо к Windows 10 Mobile)
- Параметр Местоположение служб определения местоположения включен
- В разделе Выберите приложения, которым будет разрешено использовать данные о вашем местоположении для вашего приложения установлено значение Вкл.
Важно!
Начиная с Windows 10, вызовите метод RequestAccessAsync перед доступом к расположению пользователя. В этот момент ваше приложение должно находиться на переднем плане, а из потока пользовательского интерфейса должен быть вызван метод RequestAccessAsync. После этого приложение может обработать вариант без разрешений, не вызывая исключения.
См. также раздел
- Geoposition
- Geocoordinate
- GetGeopositionAsync(TimeSpan, TimeSpan)
- Получение сведений о текущем расположении
- Пример географического расположения
Применяется к
GetGeopositionAsync(TimeSpan, TimeSpan)
Запускает асинхронную операцию для получения текущего расположения устройства.
public:
virtual IAsyncOperation<Geoposition ^> ^ GetGeopositionAsync(TimeSpan maximumAge, TimeSpan timeout) = GetGeopositionAsync;
/// [Windows.Foundation.Metadata.Overload("GetGeopositionAsyncWithAgeAndTimeout")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<Geoposition> GetGeopositionAsync(TimeSpan const& maximumAge, TimeSpan const& timeout);
[Windows.Foundation.Metadata.Overload("GetGeopositionAsyncWithAgeAndTimeout")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<Geoposition> GetGeopositionAsync(System.TimeSpan maximumAge, System.TimeSpan timeout);
function getGeopositionAsync(maximumAge, timeout)
Public Function GetGeopositionAsync (maximumAge As TimeSpan, timeout As TimeSpan) As IAsyncOperation(Of Geoposition)
Параметры
Максимальный допустимый возраст кэшированных данных о расположении. TimeSpan — это период времени, выраженный в 100-наносекундных единицах.
Время ожидания. TimeSpan — это период времени, выраженный в 100-наносекундных единицах.
Возвращаемое значение
Асинхронная операция, которая после завершения возвращает геопозицию , помечающую найденное расположение.
- Атрибуты
Требования к Windows
Возможности приложения |
location
ID_CAP_LOCATION [Windows Phone]
|
Комментарии
Расположение будет возвращено немедленно, если последнее расположение находится в пределах допустимого возраста. В противном случае расположение не будет возвращено до следующего изменения. В некоторых случаях приложение может получать данные о расположении, которые старше указанного значения maximumAge . Это связано с тем, что дополнительное значение возраста будет вычисляться на основе требуемого параметра точности, и ваше приложение будет использовать любой из двух возрастов больше. Например, предположим, что точность по умолчанию 500 метров соответствует максимальному возрасту в 30 секунд. В этом случае приложение может получать 20-секундные старые данные, даже если задано значение maximumAge в 10 секунд.
См. также раздел
- Geoposition
- Geocoordinate
- GetGeopositionAsync()
- Получение сведений о текущем расположении
- Настройка геозоны
- Пример географического расположения