Marqueur de carte getPosition() ne fonctionne pas pour les cartes de google maps sur le premier appel de la fonction
Je suis en train de placer un marqueur sur ma carte, puis utilisez la position du marqueur pour dessiner des polygones. Cependant, marqueur.getPosition() ne semble pas renvoyer une valeur à l'origine. J'aurais besoin d'appeler la fonction à nouveau pour obtenir le marqueur de position. Quelqu'un aurait-il des suggestions quant à pourquoi c'est
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
}
Vous devez vous connecter pour publier un commentaire.
Google maps à l'aide de rappels, (voir paramètre 2 dans la documentation) en raison de ses pas synchrone. Le
function(results,status)
bits est où la magie se produit. Il est exécuté lorsque Google a géocodées l'adresse. Jusque-là, vous n'avez rien à afficher.essayez ceci:
Et vous verrez que
alert("Alert 2")
apparaît avantalert("Alert 1")
Vous pouvez prendre avantage de $.Différé()