J'essaye d'obtenir le LatLng de l'API de géocodage de google map. mon code est ci-dessous avec les valeurs d'adresse est "New York, NY"
$.ajax({
url: 'http://maps.googleapis.com/maps/api/geocode/json',
data: {
sensor: false,
address: address
},
success: function (data) {
alert(data)
}
});
Mais je n'obtiens aucune valeur en alerte.
Merci pour toute aide.
Vous devrez contacter l'API concernant les règles .
$.getJSON( {
url : 'https://maps.googleapis.com/maps/api/geocode/json',
data : {
sensor : false,
address : address
},
success : function( data, textStatus ) {
console.log( textStatus, data );
}
} );
Modifier:
Comme je suis stupide, je ne devrais pas être sur stackoverflow le matin! Le problème est une requête interdomaine. Pour des raisons de sécurité, cela n'est pas autorisé. Voir: Comment effectuer des appels interdomaines AJAX appels à l'API Google Maps?
Veuillez utiliser le propre client de géocodage .
il n'est pas nécessaire d'utiliser jquery, l'API javascript v3 de Google maps a intégré ses propres fonctions, ce qui rend l'API facile à utiliser.
https://developers.google.com/maps/documentation/javascript/geocodinghttps://developers.google.com/maps/documentation/geocoding/intro
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': address }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
}
});
Si quelqu'un cherche de l'aide sur ce sujet, voici comment je l'ai fait. Notez qu'il s'agit d'une recherche inversée, mais une recherche directe devrait fonctionner de la même manière:
"
function getLocation() {
var latdegrees=40.2298;
var londegrees=-41.88754;
var url = "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + latdegrees + "," + londegrees + "YOUR API KEY";
$.getJSON(url,function (data, textStatus) {
var streetaddress=data.results[0].formatted_address;
return streetaddress;
});
}`
Le service Web de géocodage V3 ne prend pas en charge les requêtes JSONP, mais il est toujours disponible dans V2
Voir: http://blog.futtta.be/2010/04/09/no-more-jsonp-for-google-geocoding-webservice/
Voilà comment je l'ai fait. Geocoder semble créer son propre rappel.
geo.geocode({ 'address': myaddress }, function(data, status) {
if (status == google.maps.GeocoderStatus.OK) {
var myylocation = data[0].geometry.location;
lat = myylocation.lat();
lng = myylocation.lng();
}
});