Клуб API Карт

Заголовок не указан

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

Добрый день, есть нужда отображения меток по категориям на карте.

После открытия нужно иметь возможность скрывать метки.

bopen(10) - открывает 10 категорию.

bclose(10) - должна закрывать ее.

function bopen(cat) {
        var m1 = new YMaps.YMapsML('http://domain.ex/get?cat=' + cat);
        map.addOverlay(m1);
        YMaps.Events.observe(m1, m1.Events.Fault,
        function(m1, error) {
            alert('Ошибка: ' + error);
        });
    return false;
}

function bclose(cat) {
   map.removeOverlay(m1);
   return false;
}

Категории отображаются на карте, но при вызове bclose() - не удаляются категории.

Помогите решить проблему.

Спасибо.

2 комментария

В вашем случае скорее всего загвоздка с областью видимости m1.


Уберите var.


 


 


 


 


 

Переменная m1 не видна в функции bclose. Вынесите, объявление переменной m1 до функции bopen;


var m1;
function bopen(cat) {

Также можете воспользоваться готовым решением по построению меню по загруженному YMapsML-файлу: http://api.yandex.ru/maps/ymapsml/examples/menufromymapsml.html