2010-12-15 26 views
1

Ich habe durch Version 3 der Google Maps API gesucht, und ich habe ein kleines Skript zum Geokodieren einer Adresse zusammengestellt. Das Problem ist, dass ich sehen möchte, ob ich das lat lng extrahieren kann, ohne das Ergebnis "teilen" zu müssen.Geocode in Google Maps v3

function getLatLng() { 
    var geocoder = new google.maps.Geocoder(); 
    var query = "12 henry street, dublin 1, dublin, ireland"; 
    var address = query; 
    geocoder.geocode({ 'address': address}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
     var latLng = results[0].geometry.location; 
     alert('Geocode succesful ' + latLng); 
    } else { 
     alert("Geocode was not successful for the following reason: " + status); 
    } 
    }); 
} 

Ich möchte die Lat und die Lng von der var latLng bekommen. Kann dies ohne Aufruf von latLng.split (',') ;?

so viele Dank für Ihre Hilfe

Antwort

1

Sie können diese verwenden:

var lat= results[0].geometry.location.lat();      
var lng= results[0].geometry.location.lng();      
alert(lat); 
alert(lng); 
+0

hallo dort. Was ist das wa und xa? – Joeblackdev

+0

wa ist der Breitengrad und xa der Längengrad. Sie können eine Warnung schreiben (results [0] .toSource()); oder alert (results.toSource()); um alle Ergebnisobjekte zu sehen. – Newbie

+0

Ich verstehe. Eine letzte Frage - wo haben Sie diese Informationen gefunden? Ich konnte es nirgendwo auf der Website von Google Maps v3 finden. Vielen Dank für Ihre Zeit. Mit freundlichen Grüßen – Joeblackdev

9

niemals interne Variablen, die von der API ausgesetzt verwenden. Sie können und ändern sich von Release zu Release. Verwenden Sie immer dokumentierte Methoden.

results[0].geometry.location ist ein LatLng Objekt, so verwenden Sie die entsprechenden Methoden:

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