1

In the following code i am trying to get the GPS location from the phonegap example.Iam trying this on the actual device and not on the emulator i get a time out every time.I never got the on success alert.What am i doing wrong.i have enable GPS and internet

JS

document.addEventListener("deviceready", onDeviceReady, false);

var watchID = null;

// Cordova is ready
//
function onDeviceReady() {
// Throw an error if no update is received every 30 seconds
var options = { timeout: 30000 };
watchID = navigator.geolocation.watchPosition(onSuccess, onError, options);
}

// onSuccess Geolocation
//
function onSuccess(position) {
var element = document.getElementById('geolocation');
element.innerHTML = 'Latitude: '  + position.coords.latitude      + '<br />' +
                    'Longitude: ' + position.coords.longitude     + '<br />' +
                    '<hr />'      + element.innerHTML;
}

// onError Callback receives a PositionError object
//
function onError(error) {
alert('code: '    + error.code    + '\n' +
      'message: ' + error.message + '\n');
}

html

 <html>
 <head>
 <title>Cordova</title>
 <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
 <script type="text/javascript" src="js/jquery.mobile-1.2.0/jquery-1.8.1.min.js"></script>
 <script type="text/javascript" src="js/jquery.mobile-1.2.0/jquery.mobile-1.2.0.min.js"> </script>
 <link rel="stylesheet" href="js/jquery.mobile-1.2.0/jquery.mobile-1.2.0.min.css" />
 <script type="text/javascript" src="js/index.js"></script>
 </head>
 <body >
 <h1>Hello World</h1>
 <p id="geolocation">Finding geolocation...</p>
 </body>
 </html>
4

1 回答 1

1

试试这个选项:

var options = { timeout: 30000, enableHighAccuracy: true }; 
于 2013-04-18T09:07:17.530 回答