Private Sub IsAuthorizedForPreciseLocation (lm As LocationManager) As Boolean
Return lm.As(NativeObject).GetField("manager").GetField("isAuthorizedForPreciseLocation").AsBoolean
End Sub
Private Sub SetAccuracy(lm As LocationManager, accuracy As Double)
Dim no As NativeObject = lm
no = no.GetField("manager")
no.SetField("desiredAccuracy", accuracy)
End Sub
Private Sub StartLocationUpdates
If LocManager.IsAuthorized Or LocManager.AuthorizationStatus = LocManager.AUTHORIZATION_NOT_DETERMINED Then
Log("precise location: " & IsAuthorizedForPreciseLocation(LocManager))
If IsAuthorizedForPreciseLocation(LocManager) Then SetAccuracy(LocManager, -2) 'kCLLocationAccuracyBestForNavigation
LocManager.Start(0)
End If
LocManager.StartHeading
End Sub