Здравствуйте. Проект предполагает создание пользовательской интерактивной карты с возможностью добавления меток, ломанных и многоугольников по категориям как в народной карте. Интересует вопрос по реализации: как лучше группировать, формировать объекты на карте, например с помощью YMapsML. К примеру: на карте есть 100 категорий различных объектов, это банкоматы, дорога, мебельный магазин итд. Я так понимаю, получится один большой xml файл или нужно каждой категории свой xml? Как будет выглядеть его структура в таком случае.
var ml = new YMaps.YMapsML("*.xml"); - банкоматы
var ml1 = new YMaps.YMapsML("*.xml"); - дороги
var ml2 = new YMaps.YMapsML("*.xml"); - мебельные магазины
Для каждого объекта пишем свой скрипт "показать/скрыть":
Менюшка:
<ul>
<li id="bank" class="bank_hide">банкоматы</li>
<li id="road" class="road_hide">дороги</li>
<li id="shop" class="shop_hide">мебельные магазины</li>
</ul>
Для банкоматов
YMaps.jQuery("#bank").click(function(){
YMaps.jQuery(".bank_hide").toggleClass('bank_show');
if(YMaps.jQuery("#bank").hasClass("bank_show")){
map.addOverlay(ml);
} else {
map.removeOverlay(ml)
}) ;
Также и для дорог
YMaps.jQuery("#road").click(function(){
YMaps.jQuery(".road_hide").toggleClass('road_show');
if(YMaps.jQuery("#road").hasClass("road_show")){
map.addOverlay(ml1);
} else {
map.removeOverlay(ml1)
}) ;
Также и для мебельных магазинов
YMaps.jQuery("#shop").click(function(){
YMaps.jQuery(".shop_hide").toggleClass('shop_show');
if(YMaps.jQuery("#shop").hasClass("shop_show")){
map.addOverlay(ml2);
} else {
map.removeOverlay(ml2)
}) ;
Как правильно нужно реализовать такую идею? Нашел пример: view-source:http://api.ya
// Обработчик успешной загрузки
YMaps.Events.observe(ml, ml.Events.Load, function (ml) {
// Создание списка групп
ml.get(0).forEach(function (item) {
addMenuItem(item, map, YMaps.jQuery("#menu")) ;
}) ;
}) ;