Привет!
Подскажите, пожалуйста, что нужно добавить в код примера карты с меню YMapsML (menufromymapsml.html ), что бы при загрузке карты она была не пустая, а что бы на ней сразу показывались все объекты из всех групп, а уже при выборе какой-либо группы в меню, показывались объекты только этой группы?
Вот этот код:
...
// Загрузка YMapsML
var ml = new YMaps.YMapsML("http://site.ru/mapfiles/objects.xml");
// Обработчик успешной загрузки
YMaps.Events.observe(ml, ml.Events.Load, function (ml) {
// Создание списка групп
ml.get(0).forEach(function (item) {
addMenuItem(item, map, YMaps.jQuery("#menu"));
});
});
// Обработчик неудачной загрузки
YMaps.Events.observe(ml, ml.Events.Fault, function (ml, error) {
alert("При загрузке данных произошла ошибка: " + error);
});
})
// Добавление одного пункта в список
function addMenuItem (group, map, menuContainer) {
// Показать/скрыть группу на карте
YMaps.jQuery("<a class=\"title\" href=\"#\">" + group.name + "</a>")
.bind("click", function () {
var link = YMaps.jQuery(this);
// Если пункт меню "неактивный", то добавляем группу на карту,
// иначе - удаляем с карты
if (link.hasClass("active")) {
map.removeOverlay(group);
} else {
map.addOverlay(group);
}
// Меняем "активность" пункта меню
link.toggleClass("active");
return false;
})
// Добавление нового пункта меню в список
.appendTo(
YMaps.jQuery("<li></li>").appendTo(menuContainer)
)
};
</script>