J'essaie d'utiliser Google service de géocodage pour obtenir les coordonnées des villes entrées par l'utilisateur. Cependant, il semble qu'il y ait un problème lors de l'initialisation de l'objet LatLng() (latlngCity), et la carte n'apparaîtra pas. Le code est le suivant:google geocoder service
var map;
var latlngCity;
function initialize() {
var geocoder = new google.maps.Geocoder();
geocoder.geocode({'address': 'Lisbon, PT'}, function(results, status) {
if(status == google.maps.GeocoderStatus.OK) {
latlngCity = results[0].geometry.location;
}
});
var myMapOptions = {
zoom: 8,
center: latlngCity,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"),
myMapOptions);
}
Pour simplifier, j'insère moi-même la chaîne de ville d'adresse. La carte des variables et latlngCity sont des globals. Y a-t-il un problème avec ce code? Merci beaucoup.
Merci pour la réponse. J'ai essayé de créer la carte à l'intérieur du rappel et cela a fonctionné. Le géocodeur fonctionne maintenant très bien. Cependant, je suis maintenant incapable de créer des marqueurs sur la carte. J'ai déclaré la carte sans 'var' dans le rappel. Il était censé devenir mondial, n'est-ce pas? Mais quand je définis la carte dans les options des marqueurs, elle n'apparaît jamais. –
Où créez-vous les marqueurs? Il se pourrait bien que ce soit exactement le même problème - essayez de placer les marqueurs dans le rappel 'geocode', après la création de la carte. – mhyfritz
C'est tout! J'ai dû créer les marqueurs à l'intérieur du rappel. Merci encore. –