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


Geolocator Класс

Определение

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

public ref class Geolocator sealed
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Geolocator final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class Geolocator final
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Geolocator
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class Geolocator
function Geolocator()
Public NotInheritable Class Geolocator
Наследование
Object Platform::Object IInspectable Geolocator
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)
Возможности приложения
location ID_CAP_LOCATION [Windows Phone]

Примеры

В этом примере показано, как использовать класс Geolocator для получения расположения устройства. Дополнительные сведения см. в статье Получение сведений о текущем местоположении.

using Windows.Devices.Geolocation;
...
var accessStatus = await Geolocator.RequestAccessAsync();
switch (accessStatus)
{
    case GeolocationAccessStatus.Allowed:
        // notify user: Waiting for update

        // If DesiredAccuracy or DesiredAccuracyInMeters are not set (or value is 0), DesiredAccuracy.Default is used.
        Geolocator geolocator = new Geolocator { DesiredAccuracyInMeters = _desireAccuracyInMetersValue };

        // Subscribe to StatusChanged event to get updates of location status changes
        _geolocator.StatusChanged += OnStatusChanged;

        // Carry out the operation
        Geoposition pos = await geolocator.GetGeopositionAsync();

        UpdateLocationData(pos);
        // notify user: Location updated
        break;

    case GeolocationAccessStatus.Denied:
        // notify user: Access to location is denied

        break;

    case GeolocationAccessStatus.Unspecified:
        // notify user: Unspecified error
        break;
}

Комментарии

Журнал версий

Версия Windows Версия пакета SDK Добавленная стоимость
1607 14393 AllowFallbackToConsentlessPositions
1607 14393 DefaultGeoposition
1607 14393 IsDefaultGeopositionRecommended

Конструкторы

Geolocator()

Инициализирует новый объект Geolocator .

Свойства

DefaultGeoposition

Возвращает расположение, введенное пользователем вручную в систему, которое будет использоваться, если нет лучших вариантов.

DesiredAccuracy

Уровень точности, при котором геолокатор предоставляет обновления расположения.

DesiredAccuracyInMeters

Возвращает или задает требуемую точность в метрах для данных, возвращаемых службой определения местоположения.

IsDefaultGeopositionRecommended

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

LocationStatus

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

MovementThreshold

Расстояние перемещения (в метрах) относительно координаты от последнего события PositionChanged , необходимое геолокатору для создания события PositionChanged .

ReportInterval

Запрошенный минимальный интервал времени между обновлениями расположения в миллисекундах. Если вашему приложению требуются обновления нечасто, задайте это значение, чтобы службы определения местоположения могли экономить энергию, вычисляя расположение только при необходимости.

Методы

AllowFallbackToConsentlessPositions()

Задает геолокатор для использования грубого расположения в качестве резервного варианта (см. примечания).

GetGeopositionAsync()

Запускает асинхронную операцию для получения текущего расположения устройства.

GetGeopositionAsync(TimeSpan, TimeSpan)

Запускает асинхронную операцию для получения текущего расположения устройства.

GetGeopositionHistoryAsync(DateTime, TimeSpan)

Запускает асинхронную операцию для получения журнала расположения устройства.

Примечание

Этот API доступен не для всех приложений Windows. Если ваша учетная запись разработчика не специально подготовлена корпорацией Майкрософт, вызовы этих API будут завершаться ошибкой во время выполнения.

GetGeopositionHistoryAsync(DateTime)

Запускает асинхронную операцию для получения журнала расположения устройства.

Примечание

Этот API доступен не для всех приложений Windows. Если ваша учетная запись разработчика не специально подготовлена корпорацией Майкрософт, вызовы этих API будут завершаться ошибкой во время выполнения.

RequestAccessAsync()

Примечание

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

Важно!

На этот API повлияют предстоящие изменения в поведении операционной системы, запланированные на осень 2024 года. Дополнительные сведения см. в статье Изменения в поведении API для Wi-Fi доступа и расположения.

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

События

PositionChanged

Возникает при обновлении расположения.

StatusChanged

Возникает при изменении возможности геолокатора предоставлять обновленное расположение.

Применяется к

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