спасибо за ответ, про увеличение границ и их затемнение не думала. идея хороша, вот только сама область внутри многоугольника тоже затемнится значительно а она должна оставаться прозрачной. Еще варианты есть?
Так нужно создавать такой, чтоб область осталась прозрачной. т.е. расстояние от линии требуемого многоугольника до центра линии обводки внешнего многоугольника должно быть равно толщине линии обводки/2
Мне кажется более подходящим именно вариант, когда вы рисуете многоугольник с дыркой внутри. Сейчас это даже упростили. Внешнюю границу берите по углам карты.
такой вариант уже пробовала, есть некоторые неудобства. Во-первых, если рисуем с нуля многоугольник и потом автоматичеки добавляем точки по краям карты надо знать с какой точки начать, чтобы не получился требуемый многоугольник с полость внутри. Во-вторых при изменении масштабов или просто двигании карты мы выйдем за границы области затемнения, а надо чтоб он был неограниен. Ну и вообще это все только усложняет.
Во-первых, если рисуем с нуля многоугольник и потом автоматичеки добавляем точки по краям карты надо знать с какой точки начать,
Отбросить, ссылку на многоугольники с внутренними дырками, то добавить нужно пять точек (4 угла + точка поверх точки начала), а за начало брать bounds_max_Y то всё бцдет работать.
А по событиям зума и сдвига, перемещать.
Можно еще поиграться с css карты и многоугольника.
Тени по сторонам, в целях производительности, лучше создать из 4х других полигонов
В документации вроде все выглядит достаточно понятным. Давайте лучьше вы попытаетесь написать код и если он не будет работать, то выложите его сюда (проверив предварительно на ошибки джаваскрипта.)
var cArr = [[37.563096,55.786319], [37.763596,55.74451], [37.604294,55.680936]]; var vArr = []; for(var key in cArr) { var item = cArr[key]; var point = new YMaps.GeoPoint(item[0], item[1]); var vert = new YMaps.CoordVertex(point); vArr.push(vert); } var path = new YMaps.CoordPath(vArr); polygon.setOptions({interiors: path }); map.addOverlay(polygon);
ошибок фаербаг не выдает, типы приведены правильно вроде, но все равно не отображает область внутри..