Map marker getPosition() funktioniert nicht für google-maps beim ersten Aufruf der Funktion
Ich versuche, platzieren Sie eine Markierung auf meiner Karte, und verwenden Sie dann die position der Markierung an, zeichnen Sie Polygone. Jedoch, marker.getPosition() nicht scheinen, um einen Wert zurückzugeben, zunächst. Ich würde rufen Sie die Funktion erneut, um die Vorherige marker-position. Hat jemand irgendwelche Vorschläge, warum dies
function codeAddress() {
var address = fubar;
geocoder.geocode( { 'address': address}, function(results, status) {
map.setCenter(results[0].geometry.location);
map.setZoom(1);
if (marker == null){
marker = new google.maps.Marker({
map: map,
});
}
marker.setPosition(results[0].geometry.location);
});
document.write(marker.getPosition()); //this displays nothing
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Google maps ist mit Rückrufen ( siehe parameter 2, die in der Dokumentation ), weil die nicht synchron. Die
function(results,status)
bit ist, wo die Magie passiert. Es wird ausgeführt, wenn Google die Adresse geocodiert. Bis dahin haben Sie nichts anzeigen.versuchen Sie dies:
Und Sie werden sehen, dass
alert("Alert 2")
erscheint voralert("Alert 1")
Sie in Anspruch nehmen konnten, von $.Latente()