Подскажите пожалуйста, как сделать центр карты на нужный маркер в Google Maps?
Есть код, расставляет на Google карту маркеры. С этим порядок.
Но забираю из URL get параметр (с этим тоже порядок) например для параметра astr выставить центр карты другой, не тот что по умолчанию.
Делаю так:
var latLng = marker.getPosition(54.670722139243026,39.71549349999992);
map.setCenter(latLng);
map.setZoom(12);
Но почему-то берется для центра последние координаты в массиве locations, это Тюмень.
Если get параметр пуст и нет проверки значит, то берется центр по умолчанию из Options
center: new google.maps.LatLng(55.75439340390715,37.620700586425755),
Как заставить выставлять центр принудительно?
Что не так?
var locations = [
[new google.maps.LatLng(55.74015715100193,37.66488429762264),'Таганка'],
[new google.maps.LatLng(46.358866574456094,48.06974899999999),'г. Астрахань, Минусинская 8, ТРЦ Три Кота'],
[new google.maps.LatLng(57.11865206755367,65.57724050000002),'Тюмень - Трц Солнечный - Пермякова 50Б']
];
function initialize() {
var markers = new Array();
var mapOptions = {
center: new google.maps.LatLng(55.75439340390715,37.620700586425755),
mapTypeId: google.maps.MapTypeId.ROADMAP,
zoom: 10,
scrollwheel: false,
mapTypeControl: false,
zoomControl: true,
};
var map = new google.maps.Map(document.getElementById('map'), mapOptions);
var infowindow = new google.maps.InfoWindow();
for (var i = 0; i < locations.length; i++) {
var image = {
url: "/images/icon/pinMapmini.png",
anchor: new google.maps.Point(15, 30),
scaledSize: new google.maps.Size(30, 30)
};
var marker = new google.maps.Marker({
position: locations[i][0],
map: map,
draggable: false,
animation: google.maps.Animation.DROP,
icon: image,
title: locations[i][1],
visible: true
});
}
//get параметр из URL тут порядок, в плане получения GET и параметра из него, код функции getUrlParameter убрал
что бы не засорять, оставил только проверку.
var astr = getUrlParameter('utm_replace');
if(astr == 'astr'){
var latLng = marker.getPosition(54.670722139243026,39.71549349999992);
map.setCenter(latLng);
map.setZoom(12);
}
}
google.maps.event.addDomListener(window, 'load', initialize);