62 votes

Javascript géocodage à partir de l'adresse de la latitude et de la longitude numéros ne fonctionne pas

Je suis à l'aide de la suite de géocodage fonction pour convertir un texte de l'adresse dans la latitude et la longitude des chiffres, mais ça ne marche pas droit. L'alerte écrit "undefined".

Quelqu'un peut dire quel est le problème?

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">

var geocoder = new google.maps.Geocoder();
var address = "new york";

geocoder.geocode( { 'address': address}, function(results, status) {

if (status == google.maps.GeocoderStatus.OK) {
    var latitude = results[0].geometry.location.latitude;
    var longitude = results[0].geometry.location.longitude;
    alert(latitude);
    } 
}); 
</script>

94voto

Skadlig Points 731

Essayez d'utiliser ceci à la place:

var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();

C'est un peu difficile à naviguer api Google mais voici de la documentation pertinente.

Une chose que j'avais du mal à trouver comment aller dans l'autre direction. À partir des coordonnées d'une adresse. Voici le code que j'ai neded upp à l'aide. S'il vous plaît pas que je également utiliser jquery.

$.each(results[0].address_components, function(){
    $("#CreateDialog").find('input[name="'+ this.types+'"]').attr('value', this.long_name);
});

Ce que je suis en train de faire est de faire une boucle par tous retournés address_components et de tester si leurs types correspondent à aucun élément de saisie des noms, j'ai dans un formulaire. Et s'ils le font j'ai défini la valeur de l'élément à l' address_components de la valeur.
Si vous êtes uniquement intéressé par l'ensemble formaté adresse, alors vous pouvez suivre l'exemple de Google

54voto

Dancrumb Points 11918

Vous êtes accédant à la latitude et la longitude de manière incorrecte.

Essayez

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">

var geocoder = new google.maps.Geocoder();
var address = "new york";

geocoder.geocode( { 'address': address}, function(results, status) {

  if (status == google.maps.GeocoderStatus.OK) {
    var latitude = results[0].geometry.location.lat();
    var longitude = results[0].geometry.location.lng();
    alert(latitude);
  } 
}); 
</script>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X