Задать вопрос
Cheizer
@Cheizer

Как в Google Maps выставить центра карты по параметрам принудительно?

Подскажите пожалуйста, как сделать центр карты на нужный маркер в 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);
  • Вопрос задан
  • 481 просмотр
Подписаться 1 Простой 2 комментария
Решения вопроса 1
Cheizer
@Cheizer Автор вопроса
Разобрался, в проверке нужно было так
if(astr == 'astr'){
    map.panTo(new google.maps.LatLng(57.170336067504834,65.5674305));
    map.setZoom(12);
   }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 17:26
5000 руб./за проект
18 дек. 2024, в 17:23
1500 руб./за проект
18 дек. 2024, в 16:42
2000 руб./за проект