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

Почему не меняются глобальные переменные?

На странице есть блок с картой и select, в котором выбираем города (var town)
Создал глобальные переменные, куда занес первоначальную позицию на карте.
В первой функции я присваиваю новые значения глобальным переменным (в зависимости от выбранного города), но глобальная переменная не меняется и, соответственно, не меняются координаты в функции яндекс-карты.
Где мой косяк?

var yandX = 55.164186;
var yandY = 61.416666;
$(document).ready(function(){
        $('#contacts_town').change(function(){
         var town = $('#contacts_town :selected').val();
         if (town == "t001") {
               yandX = 55.164186;
               yandY = 61.416666;
         }
         else if (town == "t002"){
               yandX = 54.084817;
               yandY = 61.557720;
         }   
    });
   ymaps.ready(init); 
   function init () {     
      var myMap = new ymaps.Map('map', {
              center: yandX, yandY], 
              zoom: 13
          });
      var myGeoObject = new ymaps.GeoObject({
              geometry: {
                  type: "Point",
                  coordinates: [yandX, yandY]
              }
          });
   myMap.geoObjects.add(myGeoObject);
   }   
});
  • Вопрос задан
  • 462 просмотра
Подписаться 3 Оценить 1 комментарий
Решения вопроса 1
Stalker_RED
@Stalker_RED
На самом деле меняются, но к тому моменту карта уже инициализирована с дефолтными координатами.
Нужно после изменения координат делать redraw или update.
https://tech.yandex.ru/maps/doc/jsapi/1.x/ref/refe...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы