J'essaye d'obtenir le Google Maps Geocoder pour renvoyer un LatLng d'une adresse et ensuite initialiser la carte avec ce LatLng sur le centre.Pourquoi Google Maps Geocoder n'appelle pas l'initialisation?
J'ai vu quelques questions sur ce sujet avec des suggestions que la carte devrait être initialisée d'abord avec un centre arbitraire puis recentré, mais cela semble inutile.
Le code ci-dessous fonctionne bien jusqu'à ce que je change le lat global et lon à zéro. Le geocder est alors appelé avec l'adresse et un LatLng est renvoyé très bien. Tout ce que j'obtiens alors est une fenêtre vide et l'alerte dans la fonction d'initialisation n'est jamais déclenchée. Est-ce que quelqu'un peut m'expliquer pourquoi cela ne fonctionne pas avant d'aller sur la route de l'initialisation sur 0,0 puis sur le centrage?
Merci
var lat = 37.425593;
var lon = -122.075915;
var address = '1600 Amphitheatre Pky, Mountain View, CA';
var LatLon = new google.maps.LatLng(0, 0);
function initialize() {
alert("2. "+LatLon);
var mapOptions = {
center: LatLon,
zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var marker = new google.maps.Marker({
position: LatLon,
map: map
});
}
if (lat == 0 && lon == 0) {
alert('address = '+address);
var geocoder = new google.maps.Geocoder();
geocoder.geocode({'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
LatLon = results[0].geometry.location;
alert("1. "+LatLon);
google.maps.event.addDomListener(window, 'load', initialize);
} else {
alert("No results found");
}
} else {
alert("Geocoder failed: " + status);
}
});
} else {
alert('lat/lon = '+lat+' '+lon);
LatLon = new google.maps.LatLng(lat, lon);
alert("1. "+LatLon);
google.maps.event.addDomListener(window, 'load', initialize);
}
double possible de [passer la latitude et la longitude à mon script carte] (http://stackoverflow.com/questions/18936231/passing-the-latitude-and-longitude-to- mon-carte-script) – geocodezip