Comment faire des appels AJAX multi-domaines à l'API Google Maps?

J'essaie de faire un appel jQuery $.getJSON au service $.getJSON Google $.getJSON Google Maps , mais cela ne fonctionne pas en raison de problèmes de sécurité entre domaines.

Je n'ai pas été en mesure de comprendre en ligne, mais j'ai lu un peu sur Google Javascript API ou JSONP, mais jusqu'à présent pas de réponse claire …

Quelqu'un pourrait-il me éclairer?

Merci!

  • JSON chaîne à objet JS
  • Demande JSONP dans l'extension chrome, la fonction callback n'existe pas?
  • Sur la page 'www.foo.com', un script peut-il être chargé à partir de 'www.example.com' envoyer des demandes ajax à 'www.example.com'?
  • Json avec google geocoding api
  • Fonction de rappel pour JSONP avec JQuery ajax
  • De quoi parle JSONP?
  • Comment analyser les données JSONP retournées à partir du serveur distant
  • Comment faire une requête jsonp POST qui spécifie le type de contenu avec jQuery?
  • One Solution collect form web for “Comment faire des appels AJAX multi-domaines à l'API Google Maps?”

    Je ne vois aucun avantage à utiliser le service Web de géocodage côté serveur lorsque Google Maps fournit une API de géocodage côté client complète pour JavaScript.

    Tout d'abord, cela résout automatiquement votre problème d'origine et, en plus, les limites de la demande seraient calculées par adresse IP du client au lieu de l'adresse IP du serveur, ce qui peut faire une énorme différence pour un site populaire.

    Voici un exemple très simple utilisant l'API de géocodage JavaScript v3:

     <script src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript"> var geocoder = new google.maps.Geocoder(); var address = 'London, UK'; if (geocoder) { geocoder.geocode({ 'address': address }, function (results, status) { if (status == google.maps.GeocoderStatus.OK) { console.log(results[0].geometry.location); } else { console.log("Geocoding failed: " + status); } }); } </script> 

    Si, pour une raison ou une autre, vous souhaitez utiliser le service Web côté serveur, vous pouvez configurer un proxy inverse très simple, peut-être en utilisant mod_proxy si vous utilisez Apache. Cela vous permettra d'utiliser des chemins relatifs pour vos requêtes AJAX, tandis que le serveur HTTP agirait comme un proxy dans n'importe quel emplacement "distant".

    La directive de configuration fondamentale pour configurer un proxy inverse dans mod_proxy est ProxyPass. Vous l'utiliserez habituellement comme suit:

     ProxyPass /geocode/ http://maps.google.com/maps/api/geocode/ 

    Dans ce cas, le navigateur peut effectuer une requête aux /geocode/output?parameters mais le serveur le servirait en tant que proxy à http://maps.google.com/maps/api/geocode/output?parameters .

    JavaScript rend le site Web intelligent, beauté et facile à utiliser.