Клуб API Карт

Метки внутри многоугольника

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

Здравствуйте.

Есть сайт, на котором используется API Яндекс.Карт версии 1.x

Реализована возможность ставить метки на карте по клику:

 

YMaps.Events.observe(map, map.Events.Click, function (map, mEvent) {   
                       
    var newGeoPoint = mEvent.getGeoPoint();   
    var placemark = new YMaps.Placemark(newGeoPoint, {hasHint: true});
    placemark.setStyle("default#greenPoint");                   
   
    map.addOverlay(placemark);                       
});

 

Также перед началом работы я рисую по координатам несколько разноцветных многоугольников (YMaps.Polygon). Проблема заключается в том, что при кликах внутри многоугольников, событие не срабатывает - как-будто многоугольник перехватывает событие щелчка и оно не доходит до карты.

Может, есть какое-то специальное свойство у многоугольника, которое решает данную проблему?

7 комментариев
chigrinets-alexandr
28 января 2016, 03:46
Сам отвечаю на свой вопрос: нужно установить у многоугольника свойство interactive в значение YMaps.Interactivity.NONE

А как аналогичная проблема решается в 2.0? Не дает поставить балун на Cirlcle при клике

 

 

var myCircle = new ymaps.GeoObject({    geometry: {        type: "Circle",        coordinates: [55.76, 37.64],        radius: 10000    } });            // Добавляем круг на карту            myMap.geoObjects.add(myCircle);myMap.events.add('click', function (e) {                if (!myMap.balloon.isOpen()) {                    var coords = e.get('coordPosition');                    myMap.balloon.open(coords, {                        contentHeader: 'Центральная точка  ',                        contentBody:  '

Координаты: ' + [

                                coords[0].toPrecision(6),                                coords[1].toPrecision(6)                            ].join(', ') + '

',                        contentFooter: 'Нажмите "отобразить"'                    });                } else {                    myMap.balloon.close();                }                            });

в 2.0 пустые балуны не открываются

вам надо выставить у окружности св-во "balloonContentBody"

задача немного другая :-)

 

нужно открыть основной балун даже если клик произойдет в круге.

Тк в моем случае круг имеет лишь декоративные функции, некоего бекграунда

В вашем случае при клике на окружность вообще обработчик вызывается?

Клик пробрасывается на карту?

Если нет нужно выставить окружности "прозрачную" модель интерактивности

Спасибо, interactivityModel: 'default#transparent' выполнило задачу :-)