[ 
https://issues.apache.org/jira/browse/CB-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Grebnov updated CB-8078:
-------------------------------
    Summary: on iOS geolocation.watchPosition only fires callback 1-2 times on 
success, & once on failure  (was: geolocation.watchPosition only fires callback 
1-2 times on success, & once on failure)

> on iOS 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: Plugin Geolocation
>    Affects Versions: 3.6.0
>         Environment: tested iOS versions 6 & 8 using iOS SDK 8.1
>            Reporter: Jacob G
>              Labels: ios, triaged
>
> 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]

Reply via email to