WindowsLocationProvider
A LocationProvider backed by Windows.Devices.Geolocation.Geolocator.
Each updates collector owns an independent Geolocator. The provider configures its scalar desired accuracy to 1, 10, 100, 1,000, or 5,000 meters from LocationAccuracy.BestForNavigation through LocationAccuracy.Lowest, configures ReportInterval, and also enforces LocationRequest.minimumInterval and LocationRequest.minimumDistance before delivery. The first valid fix is always delivered. Cancelling collection removes both native event handlers and releases the geolocator.
Initializing, NoData, and NotInitialized report LocationUnavailableReason.TemporarilyUnavailable. Disabled reports LocationUnavailableReason.PermissionDenied when access is denied and LocationUnavailableReason.ServicesDisabled when access remains granted. NotAvailable reports LocationUnavailableReason.Unsupported. Unexpected native failures report LocationUnavailableReason.UnexpectedFailure.
Ordinary Windows Runtime calls run in a dedicated multithreaded apartment. Permission requests start on the AWT event-dispatch thread because Windows requires a foreground UI-thread request.