Windows.Devices.Geolocation Windows.Devices.Geolocation Windows.Devices.Geolocation Windows.Devices.Geolocation Windows.Devices.Geolocation Namespace

Provides APIs for getting the current location or tracking the device's location over time. Location information may come from estimating a position from beacons like Wi-Fi access points and cell towers, from the device's IP address, or it may come from other sources such as a GNSS or GPS device. The Windows.Devices.Geolocation API provides the most appropriate geolocation data from all available sources.

The accuracy of the location information depends on the source. The latitude and longitude may vary within the following ranges:

  • GPS : within approximately 10 meters
  • Wi-Fi : between approximately 30 meters and 500 meters
  • Cell towers : between approximately 300 meters and 3,000 meters
  • IP address : between approximately 1,000 meters and 5,000 meters

In addition to latitude and longitude, GPS also provides information about heading, speed, and altitude. This additional information is optional when the location information comes from other sources.

The user sets the privacy of their location data with the location privacy settings in the Settings app. Your app can access the user's location only when:

  • Location for this device... is turned on (not applicable to Windows 10 Mobile)
  • The location services setting, Location, is turned on
  • Under Choose apps that can use your location, your app is set to on

For more information about location privacy, see the Windows Privacy Statement.


Starting in Windows 10, call the RequestAccessAsync before accessing the user’s location. At that time, your app must be in the foreground and RequestAccessAsync must be called from the UI thread. Until the user grants your app permission to their location, your app can't access location data.

Location services architecture

The first layer of the location services architecture consists of hardware in the device. This includes the GPS receiver, Wi-Fi, and the cellular radio. These can all function as providers of location data with varying levels of accuracy and power consumption. On top of the hardware sits the native code layer. This layer communicates directly with the available sources of location data and decides which sources to use to determine the location of the device based on the availability of data and on the performance requirements specified by the application. The native code layer also communicates over the Internet with a Microsoft-hosted web service to look up location-related information from a database. The top layer of the location service is the managed interface, exposed through a DLL that is included with Windows SDK. An app uses this interface to start and stop location requests, to set the level of accuracy required by the app, and to receive location data from the native code layer as it becomes available.


CivicAddress CivicAddress CivicAddress CivicAddress CivicAddress

Unsupported API.

GeoboundingBox GeoboundingBox GeoboundingBox GeoboundingBox GeoboundingBox

Represents a rectangle that defines a geographic area.

Geocircle Geocircle Geocircle Geocircle Geocircle

Describes a geographic circle with a center point and a radius.

Geocoordinate Geocoordinate Geocoordinate Geocoordinate Geocoordinate

Contains the information for identifying a geographic location.

GeocoordinateSatelliteData GeocoordinateSatelliteData GeocoordinateSatelliteData GeocoordinateSatelliteData GeocoordinateSatelliteData

Provides additional information about a Geocoordinate. This information is only applicable to position estimates obtained using satellite signals.

Geolocator Geolocator Geolocator Geolocator Geolocator

Provides access to the current geographic location.

Geopath Geopath Geopath Geopath Geopath

Represents an ordered series of geographic points.

Geopoint Geopoint Geopoint Geopoint Geopoint

Describes a geographic point.

Geoposition Geoposition Geoposition Geoposition Geoposition

Represents a location that may contain latitude and longitude data or venue data.

Geovisit Geovisit Geovisit Geovisit Geovisit

Represents a Visit-related state change. See Guidelines for using Visits tracking for information on how to use this feature.

GeovisitMonitor GeovisitMonitor GeovisitMonitor GeovisitMonitor GeovisitMonitor

Handles the monitoring of a user's Visits when the app is in use (not in the background).

GeovisitStateChangedEventArgs GeovisitStateChangedEventArgs GeovisitStateChangedEventArgs GeovisitStateChangedEventArgs GeovisitStateChangedEventArgs

Contains information about a VisitStateChanged event.

GeovisitTriggerDetails GeovisitTriggerDetails GeovisitTriggerDetails GeovisitTriggerDetails GeovisitTriggerDetails

Manages the details of a trigger for a Visits-related background task.

PositionChangedEventArgs PositionChangedEventArgs PositionChangedEventArgs PositionChangedEventArgs PositionChangedEventArgs

Provides data for the PositionChanged event.

StatusChangedEventArgs StatusChangedEventArgs StatusChangedEventArgs StatusChangedEventArgs StatusChangedEventArgs

Provides information for the StatusChanged event.

VenueData VenueData VenueData VenueData VenueData

Represents the venue associated with a geographic location.


BasicGeoposition BasicGeoposition BasicGeoposition BasicGeoposition BasicGeoposition

The basic information to describe a geographic position.


IGeoshape IGeoshape IGeoshape IGeoshape IGeoshape

Interface to define a geographic shape.


AltitudeReferenceSystem AltitudeReferenceSystem AltitudeReferenceSystem AltitudeReferenceSystem AltitudeReferenceSystem

Indicates the altitude reference system to be used in defining a geographic shape.

GeolocationAccessStatus GeolocationAccessStatus GeolocationAccessStatus GeolocationAccessStatus GeolocationAccessStatus

Indicates if your app has permission to access location data.

GeoshapeType GeoshapeType GeoshapeType GeoshapeType GeoshapeType

Indicates the shape of a geographic region.

PositionAccuracy PositionAccuracy PositionAccuracy PositionAccuracy PositionAccuracy

Indicates the requested accuracy level for the location data that the application uses.

PositionSource PositionSource PositionSource PositionSource PositionSource

Indicates the source used to obtain a Geocoordinate.

PositionStatus PositionStatus PositionStatus PositionStatus PositionStatus

Indicates the ability of the Geolocator object to provide location data.

VisitMonitoringScope VisitMonitoringScope VisitMonitoringScope VisitMonitoringScope VisitMonitoringScope

Contains values that describe the intended scope of location monitoring for use with the Visits feature.

VisitStateChange VisitStateChange VisitStateChange VisitStateChange VisitStateChange

Contains values that describe a Visit-related state change.

See also