Используя Google Maps API v3, есть ли способ установить центр карты при инициализации? У меня есть обходной путь с использованием этого кода:
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
});
}
});
}
Единственная проблема заключается в том, что при инициализации он центрирует его на "latlng" в течение секунды. Я не могу понять, как установить центр в "myOptions". Я, хотя я мог бы вернуть "результаты [0].geometry.location" из функции codeAddress и передать его в myOptions, но это не сработает.
Спасибо за любую помощь.
Обновление Так как я вообще не могу удалить "центр", мне интересно, есть ли способ передать адрес параметрам.
В Google API:
Чтобы инициализировать карту, мы сначала создаем объект опций карты, чтобы содержать переменные инициализации карты. Этот объект не построен; вместо этого он создается как литерал объекта. Требуется два параметры для каждой карты: центр и зум.