2010-08-15 2 views
1

Salut quelqu'un peut me dire exactement ce que je fais mal Je ne peux pas sembler obtenir la fonction de succès ou d'échec à courir.Géo-localisation Aide

function init(){; 
    // Get the current location 
    getPosition();  
} 

function getPosition(){ 
    navigator.geolocation.getCurrentPosition(success, fail);  
} 

function success(position) 
{ 
    alert("Your latitude: " + position.coords.latitude + "longitude: " 
     + position.coords.longitude); 
} 

function fail() 
{ 
    alert("Your position cannot be found"); 
} 
+0

Est-ce que votre navigateur supporte définitivement cela? Est-ce que 'navigator.geolocation' n'est pas nul? – Rup

+0

Je l'aurais pensé, j'ai le dernier chrome, safari et firefox, en disant que je viens d'essayer cela dans le simulateur de l'iphone et bien sûr cela fonctionne, donc im totalement déconcerté lol. Merci pour votre réponse – Gary

+0

Fonctionne pour moi avec Opera 10.60 sur la page jsfiddle ci-dessous posté. Après avoir refusé l'autorisation, l'erreur est appelée et l'alerte est affichée. – jitter

Répondre

0

Avez-vous oublié d'appeler la fonction init quelque part? Le code fonctionne bien dans le jsFiddle trouvé sur http://jsfiddle.net/mhj82/ (en utilisant Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv: 1.9.2.8) Gecko/20100722 Firefox/3.6.8 (.NET CLR 3.5.30729)).

+0

Sans appeler définitivement la fonction init, j'ai mis une alerte dans la fonction getPosition() qui se déclenche comme prévu Merci pour votre réponse. – Gary

+0

Est-ce que le jsFiddle I référencé fonctionne pour vous? Quel navigateur utilisez-vous? – MvanGeest

+0

Voici la liste de compatibilité de quelqu'un d'autre http://stackoverflow.com/questions/1349064/which-devices-support-javascript-geolocation-via-navigator-geolocation/3180478#3180478 – Rup

0

J'ai aussi des problèmes avec la géolocalisation. Cela dépend du navigateur que vous utilisez. Si vous l'essayez sur Google Chrome, je suis sûr que cela fonctionnera, cela fonctionne parfaitement avec chrome.

utilisent ce lieu à tester:

navigator.geolocation.getCurrentPosition(success, fail, {timeout: 5000}); 

Il va essayer de 5000milliseconds avant d'exécuter la fonction échouer. Il semble que Firefox continue d'essayer pour toujours sans jamais être en mesure d'obtenir l'emplacement. Le réglage du délai l'oblige à quitter. Safari fonctionne rarement. J'étudie actuellement ceci aussi ... bonne chance. Après le redémarrage de mon ordinateur, la géolocalisation semble fonctionner correctement. bizarre. essayez-le avec le timeout et laissez-moi savoir ce qui se passe. il se peut qu'il soit "coincé" comme le mien l'était.

+0

Merci pour votre réponse Galen, Malheureusement, je suis toujours confronté au même problème, ne comprends pas pourquoi! même après un redémarrage. Cela semble être bloqué comme vous le suggérez, je me demande simplement s'il existe un paramètre global sur le mac pour empêcher la géolocalisation. Cela expliquerait pourquoi il ne fonctionne dans aucun navigateur. Merci encore Gary – Gary

+0

Avez-vous essayé d'ajouter le délai d'expiration et de voir si la fonction d'échec a été appelée? – Galen

Questions connexes