2011-11-21 8 views
8

J'ai le dernier phonegap 1.2 et ai mis le code de test des docs dans mon application. Lorsque je lance mon application à la fois sur le simulateur (xcode 4.2 simulator 5.0) et sur mon iPad 5, j'obtiens l'erreur "Geolocation Error: timeout".Phonegap Géolocalisation Erreur: timeout

Quelqu'un d'autre a-t-il déjà vécu cela? Voici mon code:

document.addEventListener("deviceready", onDeviceReady, false); 
     // PhoneGap is ready 
     function onDeviceReady() { 
     var myOptions = { enableHighAccuracy: true }; 
     navigator.geolocation.getCurrentPosition(onSuccess, onError,myOptions);} 

Merci!

Répondre

0

Je pense que vous manquez avec le problème d'importation de fichier de script. Vous devez importer phonegap-1.2.0.js au lieu de phonegap.js.

suite travail extrait dans iOS 5 simulateur et sur le périphérique aussi.

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Device Properties Example</title> 
     <script type="text/javascript" charset="utf-8" src="phonegap-1.2.0.js"></script> 
     <script type="text/javascript" charset="utf-8"> 
      // Wait for PhoneGap to load 
      document.addEventListener("deviceready", onDeviceReady, false); 
      // PhoneGap is ready 
      function onDeviceReady() { 
       var myOptions = { enableHighAccuracy: true }; 
       navigator.geolocation.getCurrentPosition(onSuccess, onError,myOptions); 
      } 
      // onSuccess Geolocation 
      function onSuccess(position) { 
       var element = document.getElementById('geolocation'); 
       element.innerHTML = 'Latitude: '   + position.coords.latitude    + '
' + 'Longitude: ' + position.coords.longitude + '
' + 'Altitude: ' + position.coords.altitude + '
' + 'Accuracy: ' + position.coords.accuracy + '
' + 'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '
' + 'Heading: ' + position.coords.heading + '
' + 'Speed: ' + position.coords.speed + '
' + 'Timestamp: ' + new Date(position.timestamp) + '
'; } // onError Callback receives a PositionError object function onError(error) { alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); } </script> </head> <body> <p id="geolocation">Finding geolocation...</p> </body> </html>
+0

Si vous utilisez PhoneGap Build, l'importation de phonegap.js est très bien: Build incorpore la dernière version stable à la fois comme phonegap.js et phonegap-x.y.z.js. –

0

La réponse de iMayur montre que l'API de géolocalisation non native fonctionne. Si vous appelez ce script la première fois sur un iphone, il vous sera demandé la "question d'accès à la géolocalisation" depuis l'API HTML5 du navigateur.

Je pense ici est un problème plus important dans PhoneGap: Issuetracker #197

[EDIT]

Il y a un nouveau problème ouvert: Issuetracker #304

+2

Aucun de ces liens ne fonctionne. – skybondsor

0

Je ne sais pas si pour vous fixés. Maintenant, en supposant que votre code est correct: navigator.geolocation.getCurrentPosition (onSuccess, onError, {'enableHighAccuracy': true, 'timeout': 10000}); Ajouter la partie de délai d'attente, et il ne devrait plus donner une erreur de délai.

+0

toujours l'erreur – vinesh

Questions connexes