Jacob G created CB-8078:
---------------------------
Summary: geolocation.watchPosition only fires callback 1-2 times
on success, & once on failure
Key: CB-8078
URL: https://issues.apache.org/jira/browse/CB-8078
Project: Apache Cordova
Issue Type: Bug
Components: iOS, Plugin Geolocation
Affects Versions: 3.6.0
Environment: tested iOS versions 6 & 8 using iOS SDK 8.1
Reporter: Jacob G
On Cordova 3.6, with IOS SDK 8.1, I am observing that after calling
geolocation.watchPosition, I may get either 1-2 geolocationSuccess results, or
a geolocationError (kCLErrorDomain error 0, or timeout). If I get those 1-2
success results, then nothing else fires again until an error timeout. After
the error, nothing else fires again. If I call clearWatch and watchPosition
again, then the process repeats.
What is going on here? I would expect to keep getting periodic
geolocationSuccess calls, and if there is a geolocationError then I should at
least keep getting updates either with success or failure. Why does the event
firing stop, and I have to reset it by creating a new watch? I actually get the
best results by just calling geolocation.getCurrentPosition periodically using
my own timer.
I did notice in the debugger that the location manager delegate is logging
"locationManager::didFailWithError (null)" right after calling watchPosition,
even if I later get geolocationSuccess.
This occurs on both iPhone 6 running iOS 8.1, as well as iPod Touch 4 running
iOS 6.
The relevant code is straightforward:
var geoWatchID = navigator.geolocation.watchPosition(geolocationSuccess,
geolocationError, {
maximumAge: 5000,
timeout: 60000,
enableHighAccuracy: true
});
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]