Avec l'API Google Maps v3, existe-t-il un moyen de définir le centre de la carte lors de l'initialisation? J'ai une solution en utilisant ce code:Google Maps v3 - Comment centrer en utilisant une adresse à l'initialisation?
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
codeAddress('germany');
}
function codeAddress(address) {
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
}
});
}
Le seul problème est que quand initialisées, il centre au « latlng » pour une fraction de seconde. Je n'arrive pas à comprendre comment définir le centre dans "myOptions". Je pensais que je pourrais retourner "results [0] .geometry.location" de la fonction codeAddress et le passer à myOptions, mais cela ne fonctionne pas.
Merci pour toute aide.
Mise à jour Puisque je ne peux pas enlever « centre » tout à fait, je me demande s'il y a un moyen de transmettre l'adresse aux options.
API de Google:
Pour initialiser une carte, nous avons d'abord créer un objet d'options Carte pour contenir des variables d'initialisation de carte. Cet objet n'est pas construit; à la place, il est créé en tant qu'objet littéral. Il existe deux options requises pour chaque carte: centre et zoom.
J'ai continué à essayer d'inclure la fonction de géocodage dans la fonction d'initialisation ... mais cela fonctionne dans l'autre sens. Merci! – TerryMatula