cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shazron Abdullah (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CB-3053) Geolocation API sometimes returns outdated GPS coordinates when called after resume event
Date Wed, 17 Apr 2013 23:49:17 GMT

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

Shazron Abdullah updated CB-3053:
---------------------------------

    Fix Version/s: 2.7.0
    
> Geolocation API sometimes returns outdated GPS coordinates when called after resume event
> -----------------------------------------------------------------------------------------
>
>                 Key: CB-3053
>                 URL: https://issues.apache.org/jira/browse/CB-3053
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 2.5.0, 2.6.0
>         Environment: iOS 6. Tested in simulator & iPhone 4
>            Reporter: Kuan Yi Ming
>            Assignee: Shazron Abdullah
>             Fix For: 2.7.0
>
>
> On iOS, calling getCurrentPosition after resuming the app from the background sometimes
will return the old coordinates from an earlier getCurrentPosition call prior to backgrounding
the app.
> Tested on simulator and on an iPhone 4.
> On the simulator, this happens all the time. On a physical device, it can be replicated
the first handful of calls but not after that (may have something to do with not getting GPS
satellite lock right away?)
> This is probably only iOS specific as this can't be replicated whatsoever on a Galaxy
Nexus with Location Services turned on, but GPS satellites are disabled.
> Javascript code:
> function onBodyLoad(){
>     document.addEventListener("deviceready", onDeviceReady, false);
> }
> function onDeviceReady(){
>     document.addEventListener("resume", onResume, false);
>     navigator.geolocation.getCurrentPosition(onGetFollowMeSuccess, onGetFollowMeError);
> }
> function onResume(){
>     navigator.geolocation.getCurrentPosition(onGetFollowMeSuccess, onGetFollowMeError);
> }
> function onGetFollowMeSuccess(position){
>     alert("Lat: " + position.coords.latitude + ", Long: " + position.coords.longitude);
> }
> function onGetFollowMeError(){
>     alert("Whoops-a-daisy.");
> }
> HTML code:
> <!DOCTYPE html>
> <html>
>     <head>
>         <title>Geo Loco</title>
>         <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"
/>
>         <meta charset="utf-8" />
>         <script type="text/javascript" charset="utf-8" src="cordova-2.6.0.js"></script>
>         
>         <script type="text/javascript" charset="utf-8" src="main.js"></script>
>     </head>
>     
>     <body onload="onBodyLoad()">
>         Geo Loco
>     </body>
> </html>

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message