Wie zu verwenden computeDistanceBetween() richtig?
Ich bin Neuling in Maps API, ich versuche, Holen Sie die Entfernung (in Km) aus 2-Adresse. Was ist falsch an diesem code?
var mygc = new google.maps.Geocoder();
var locationOrigem;
var locationDestino;
var latOrigem = 0;
var longOrigem = 0;
var latDestino = 0;
var longDestino = 0;
mygc.geocode({'address' : 'Presidente Vargas 897, Centro RJ'}, function(results, status){
locationOrigem = results[0].geometry.location;
latOrigem = results[0].geometry.location.lat();
longOrigem = results[0].geometry.location.lng();
});
mygc.geocode({'address' : 'Abelardo Bueno 3000, Barra da Tijuca RJ'}, function(results, status){
locationDestino = results[0].geometry.location;
latDestino = results[0].geometry.location.lat();
longDestino = results[0].geometry.location.lng();
});
alert(google.maps.geometry.spherical.computeDistanceBetween(locationOrigem, locationDestino));
Durch einen unbekannten Grund, var locationOrigem und locationDestino "undefiniert", außerhalb von anonymen Funktionen ??? Warum???
Siehe meinen aktualisierten post. Funktioniert es bei dir jetzt?
InformationsquelleAutor celsowm | 2011-07-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie enthalten das script?
Was passiert, wenn Sie Ihren code? Sind Sie sicher, dass Ihre Adressen wurden geocodiert richtig? Sind Sie sicher, dass problem ist in
computeDistanceBetween
. Versuchen Sie, speichern Sie alle Variablen.UPDATE:
Anforderungen an den Geocoder werden asynchron ausgeführt. So, Anfrage für die Distanz-Berechnung ausgeführt wurden, bevor Sie hatte von geokodierten Daten. Das ist, warum Sie Ihre Variablen wurden
undefined
. Müssen Sie die Verwendung von callbacks, um sicherzustellen, dass die Anforderung abgeschlossen ist. Versuchen Sie diesen codeDarüber hinaus müssen Sie auch prüfen, den status der Antwort. Ich habe nicht zählen, weil es ist nicht das Thema.
InformationsquelleAutor Ruslan Polutsygan