Клуб API Карт

Создание многоугольника не указывая координаты

spiritkhl
12 октября 2012, 13:42

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

 

Допустим я создаю полигон когда у меня есть точки. то это так

var polygon = new ymaps.Polygon([ // Координаты внешнего контура. [[-80, 60], [-90, 50], [-60, 40], [-80, 60]], // Координаты внутреннего контура. [[-90, 80], [-90, 30], [-20, 40], [-90, 80]] ], { hintContent: "Многоугольник" }, { fillColor: '#6699ff', // Делаем полигон прозрачным для событий карты. interactivityModel: 'default#transparent', strokeWidth: 8, opacity: 0.5 }); myMap.geoObjects.add(polygon); myMap.setBounds(polygon.geometry.getBounds());

А вот что если полигон создается с нуля? т.е. при создании точек нет

 

В первой версии апи просто можно было пустой массив передать, и все будет хорошо

 

А во второй версии, не будет доступен объект editor

 

т.е. вот так не получится polygon.editor.startEditing();

 

Как правильно делать?

4 комментария
Подписаться на комментарии к посту

Полигон должен где-то отображаться (одна координита обязательно должна быть)

создайте  с одной точкой, передав в него такую геометрию

[[coords, coords]]

и влючайте после этого редактор

 

там с этим тоже лажа, требует не менее 3-х координат, вот исходники

http://test.progerlab.ru/m/map/

попробуйте подключить последнюю версию - там нет никаких проблем.

polygon = new ymaps.GeoObject({
        geometry: {
            type: "Polygon",
            coordinates: []
        }
    });

    geoMap.geoObjects.add(polygon);
    polygon.editor.startDrawing();

работает.

Да, отлично работает, спасибо!

 

Еще маленький вопрос, при клике на точку всплывает списко действий, есть действие завершить, как на это событие повесить свои действия?