Geolocator Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides access to the current geographic location.
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
- Inheritance
- Attributes
Windows requirements
Device family |
Windows 10 (introduced in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduced in v1.0)
|
App capabilities |
location
ID_CAP_LOCATION [Windows Phone]
|
Examples
This example shows how to use the Geolocator class to retrieve the device's location. For more info, see Get current location.
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;
}
Remarks
Version history
Windows version | SDK version | Value added |
---|---|---|
1607 | 14393 | AllowFallbackToConsentlessPositions |
1607 | 14393 | DefaultGeoposition |
1607 | 14393 | IsDefaultGeopositionRecommended |
Constructors
Geolocator() |
Initializes a new Geolocator object. |
Properties
DefaultGeoposition |
Gets the location manually entered into the system by the user, to be utilized if no better options exist. |
DesiredAccuracy |
The accuracy level at which the Geolocator provides location updates. |
DesiredAccuracyInMeters |
Gets or sets the desired accuracy in meters for data returned from the location service. |
IsDefaultGeopositionRecommended |
Indicates whether the user should be prompted to set a default location manually. |
LocationStatus |
The status that indicates the ability of the Geolocator to provide location updates. |
MovementThreshold |
The distance of movement, in meters, relative to the coordinate from the last PositionChanged event, that is required for the Geolocator to raise a PositionChanged event. |
ReportInterval |
The requested minimum time interval between location updates, in milliseconds. If your application requires updates infrequently, set this value so that location services can conserve power by calculating location only when needed. |
Methods
AllowFallbackToConsentlessPositions() |
Sets the Geolocator to use coarse location as a fallback option (see Remarks). |
GetGeopositionAsync() |
Starts an asynchronous operation to retrieve the current location of the device. |
GetGeopositionAsync(TimeSpan, TimeSpan) |
Starts an asynchronous operation to retrieve the current location of the device. |
GetGeopositionHistoryAsync(DateTime, TimeSpan) |
Important The Geolocator.GetGeopositionHistoryAsync method is deprecated, and it may not be available in future versions of Windows. Starts an asynchronous operation to retrieve the location history of the device. Note This API is not available to all Windows apps. Unless your developer account is specially provisioned by Microsoft, calls to these APIs will fail at runtime. |
GetGeopositionHistoryAsync(DateTime) |
Important The Geolocator.GetGeopositionHistoryAsync method is deprecated, and it may not be available in future versions of Windows. Starts an asynchronous operation to retrieve the location history of the device. Note This API is not available to all Windows apps. Unless your developer account is specially provisioned by Microsoft, calls to these APIs will fail at runtime. |
RequestAccessAsync() |
Note Some information relates to pre-released product, which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here. Important This API will be affected by upcoming changes to operating system behavior, planned for fall 2024. For more info, see Changes to API behavior for Wi-Fi access and location. Requests permission to access location data. |
Events
PositionChanged |
Raised when the location is updated. |
StatusChanged |
Raised when the ability of the Geolocator to provide updated location changes. |