Question

Google offre une merveilleuse interface REST pour le géocodage et géocodage inverse une adresse. Ma clé API est valide, et si j'entre la demande directement dans l'adresse du navigateur, il fonctionne très bien. Cependant, la jquery suivante échoue terrible et je ne vois pas pourquoi. En espérant que vous pourriez me aider.

$.getJSON("http://maps.google.com/maps/geo?q="+ address+"&key="+apiKey+"&sensor=false&output=json",
  function(data, textStatus){
     console.log(data);
  });

L'interface REST de Google doc pour ce service: http: // code. google.com/apis/maps/documentation/geocoding/index.html

Était-ce utile?

La solution

Le problème ici est que je ne le rappel JSONP spécifiant. Le code correct est le suivant

$.getJSON("http://maps.google.com/maps/geo?q="+ address+"&key="+apiKey+"&sensor=false&output=json&callback=?",
  function(data, textStatus){
     console.log(data);
  });

Autres conseils

En raison des restrictions de sécurité, vous ne pouvez pas envoyer une requête AJAX à une URL d'une page dans un autre domaine. Voilà pourquoi cela fonctionne si vous entrez l'URL dans le navigateur, mais pas si vous essayez de faire la demande de votre code javascript.

Une solution courante consiste à utiliser un composant côté serveur agissant comme un proxy :. reçoit vos requêtes AJAX et les envoie au géolocalisateur google

ajouter une fonction d'erreur

            error: function(xhr, ajaxOptions, thrownError) {
            alert("Ajax Error: " + xhr.status + "\nMsg: " + xhr.responseText);
        }

et essayer de déboguer si elle est juste une erreur liée à JSON

J'ai eu le même problème exactement. Voilà comment j'ai pu l'obtenir finalement de travailler pour moi.

voir les cartes google docs api

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top