Клуб API Карт

Изменение параметров в сторонней функции.

Пост в архиве.

Добрый день! Возник следущий вопрос, изменить параметры в сторонней функции, пытаюсь так обратиться к объекту:

 

function activePlacemark(name) {

    ...

    myMap.geoObject.options.set('iconImageHref','/media/img/map/'+px.name+'.png');

    ...

  }

 

Иницилизируется так:

 

ymaps.ready(init);

  var myMap

    function init() {

      myMap = new ymaps.Map('map', ...);

   }


Ошибка: TypeError: myMap is undefined

Как можно получить доступ к объекту и изменить параметры? Заранее очень признателен за помощь.

7 комментариев

вынесит var myMap перед ymaps.ready

Ошибка та же

почитайте про область видимости переменных в js

Почитал http://habrahabr.ru/post/78991/

Так и не понял..Вроде все так,

вначале создаю глобальную var myMap

затем ее использую внутри функций, что не так?..

http://savepic.org/4972958.htm

 

Не понимаю, объект есть в отладчике, но я не могу к нему обратиться

Видимо вы вызываете activePlacemark перед тем как АПИ еще не успевает загрузится и init еще не вызван

не силен в js, но вижу 2 способа:
1) передавать переменную myMap при вызове activePlacemark(name, myMap)
2) поместить функцию activePlacemark(name) внутрь функции init()