У меня сейчас действительно странная проблема.
markers
- массив объектов.
0
content (String)
coords (Object)
gMarker (Object)
1
content (String)
coords (Object)
gMarker (Object)
2
content (String)
coords (Object)
gMarker (Object)
Пока все хорошо.
Проблема:
console.dir(markers);
/**
* output as expected
*/
for(var i in markers) {
console.dir(markers[i]);
/**
* gMarker object is missing!
* markers[i] suddenly consists just of content and coords
*/
Как это может быть?
Редактировать: Должно быть, это как-то связано с функцией обратного вызова "load" карт Google. Это срабатывает немного рано, по крайней мере, в моем случае. Я заменил этот обратный вызов (GEvent.addListener (map, «load», callback_fn)) на простой setTimeout, который запускает мою функцию обратного вызова через 2 секунды, и теперь все работает как положено.
В любом случае, это не объясняет, почему свойство gMarker недоступно внутри этого цикла for, что даже не может быть условием гонки, поскольку цикл начинается сразу после той точки, где объект все еще в порядке.