Obtenir des coordonnées d'adresse de Google Maps API par ajax () demande

J'essaie d'obtenir les coordonnées lng et lat de l'API Google Maps dans l'exemple suivant http://jsbin.com/inepo3/7/edit . Je m'attends à un popup "succès", mais il continue à afficher le popup "Erreur". La requête google maps donne le retour correct de json (vérifié par firebug).

<script type="text/javascript"> $().ready(function() { $.fn.getCoordinates=function(address){ $.ajax( { type : "GET", url: "http://maps.google.com/maps/api/geocode/json", dataType: "jsonp", data: { address: address, sensor: "true" }, success: function(data) { set = data; alert(set); }, error : function() { alert("Error."); } }); }; $().getCoordinates("Amsterdam, Netherlands"); }); </script> 

Est-ce que quelqu'un sait comment résoudre ce problème?

Cordialement, Guido Lemmens

MODIFIER

J'ai trouvé une solution plus utile à l'aide de l'API Javascript Google Maps combinée à jQuery:

 <script type="text/javascript"> $().ready(function() { var user1Location = "Amsterdam, Netherlands"; var geocoder = new google.maps.Geocoder(); //convert location into longitude and latitude geocoder.geocode({ address: user1Location }, function(locResult) { console.log(locResult); var lat1 = locResult[0].geometry.location.lat(); var lng1 = locResult[0].geometry.location.lng(); $("#testDiv").html("latitude:" + lat1 + "<p>longitude:" + lng1 + "</p>"); }); }); </script> 

Google Map API V3 rend plus difficile pour les bibliothèques externes de travailler avec JSONP. Voici un article sur le blog.

JSONP et Google Maps API Geocoder Plus A Fix w / jQuery


Une autre façon d'obtenir le géocodage consiste à utiliser le service Geocoder API Google Map V3 API . Voici un exemple que j'ai aidé une personne qui avait un problème similaire pour remplacer son JSONP pour utiliser Google Map V3 Geocoder Service. Jetez un coup d'oeil à cette démonstration de JSFiddle:

C'est essentiellement le noyau. Nous utilisons essentiellement Twitter pour obtenir l'adresse du tweet (IE, Londres, Madrid ou Géorgie, etc.) et convertir l'adresse actuelle en LatLng à l'aide du service Geocoder de Google Map:

 $.getJSON( url1, function(results) { // get the tweets var res1 = results.results[0].text; var user1name = results.results[0].from_user; var user1Location = results.results[0].location; // get the first tweet in the response and place it inside the div $("#last-tweet1").html(res1 + "<p>from: " + user1name + " (" + user1Location + ")</p><p>"); //convert location into longitude and latitude geocoder.geocode({ address: user1Location }, function(locResult) { console.log(locResult); var lat1 = locResult[0].geometry.location.lat(); var lng1 = locResult[0].geometry.location.lng(); $("#testDiv").html("latitude:" + lat1 + "<p>longitude:" + lng1 + "</p>"); }); });