A location provider is software or hardware that generates geographic data for apps. Location providers can determine the geographic location of a computer or device in a number of ways, including any of the following:
- Wi-Fi triangulation
- IP address resolution
- Cell phone tower triangulation
- Global Position System (GPS)
Windows apps use the Windows Location Provider. Windows Phone apps use the Windows Phone Location Service.
The first layer of the Windows Phone Location Service architecture consists of hardware in the Windows Phone 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 Phone SDK. An application uses this interface to start and stop the location service, to set the level of accuracy required by the application, and to receive location data from the native code layer as it becomes available.
In Windows 8, the built-in Windows Location Provider supplies apps with location data based on Wi-Fi triangulation and IP address data.
Windows 7 introduced the Windows Sensor and Location Platform. This platform can determine the best data from multiple installed location providers, and then supply the data to applications that use the Location API.
The Windows Location Provider uses data from Wi-Fi access points to calculate latitude and longitude. Locations calculated from Wi-Fi data are accurate to within 350 meters in urban areas.
When Wi-Fi data is not available, the Windows Location Provider uses IP address resolution to get approximate location with an accuracy of 50 kilometers.
The Windows Location Provider provides latitude, longitude, and information on accuracy to applications. The Windows Location Provider does not provide information about heading, speed, altitude or street address—other location providers may supply this data to applications.
As in Windows 7, the Location API is built on the Sensors API, and the information in location reports comes from location sensors. The Location API determines the most accurate location sensor for a given report type. This simplifies programming because the Location API will only provide one report of a particular type, even when there are multiple location sensors available. When the Windows Location Provider and GPS both exist on the system and are providing data, the Location API will use the sensor with the most accurate data. In most cases when both WiFi and GPS are available, the GPS will be more accurate and its data will be passed to the application.
You can help improve Microsoft location services and let Windows periodically send GPS and other location information to Microsoft when you use location-aware apps. We will not use this information to identify or contact you.
See the Windows Privacy Statement for details on the data collection and use practices of Windows 8.
In Windows 8, since the Windows Location Provider replaces the Default Location Provider, the Default Location Provider is no longer part of Control Panel. However, the country or region is populated by the user during initial Windows setup.