Клуб API Карт

Открыть балун метки

Пост в архиве.
SagaranoMail
3 октября 2012, 13:01

в функции объекта создаю метки, затем добавляю их в массив

var marks = [];

$().ready(function(){

 //здесь создается мой объект, остальной код и т.д.

}); 

и отдаю кластеру

...

this.cluster.add(marks)

... 

массив объявлен глобально, в любой момент я могу получить доступ к любому его члену(метке). Собственно хочу программно открыть балун у любой метки

пробую:

marks[0].balloon.ope();

в консоле:

Uncaught TypeError: Cannot read property 'balloon' of null  

 

ЧЯДНТ? 

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

marks[0].balloon.ope();  ну если у вас так и в коде написано, то он никогда не откроется. marks[0].balloon.open();

нет, в коде написано open

понятно, что экстрасенсов тут нету, но marks[0].balloon к которому я обращаюсь не null

console.log(marks[0].balloon)

выводит объект 

дай ссылку

Вообще-то ошибка несколько про другое.

Uncaught TypeError: Cannot read property 'balloon' of null  

Не могу прочитать свойство balloon у null. Т.е. marks[0] === null на момент выполнения marks[0].balloon.open();

Скорее всего, у вас беда с асинхронностью. Метки-то видно на карте?

Кстати, у меня тоже такая ошибка возникает, когда я запускаю этот код: null.balloon

Правда, почему null — надо код смотреть, действительно. Полностью. Лучше ссылку.

Скорее всего, у вас беда с асинхронностью 

именно с ней, черт...

прошу прощения, что отвлек по пустяку 

;-) Да чо уж). Удачи вам с изучением JS ;-) И асинхронных сред.