Клуб API Карт

Модуль для создания пользователем многоугольника на карте (Polygon, метод startDrawing())?

Tootoo.ya
17 ноября 2014, 18:16

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

подключаю API таким образом:

<script src="http://api-maps.yandex.ru/2.1/?lang=ru_RU&load=Map,Polygon,geometryEditor.Polygon,Placemark,geoObject.addon.balloon,geoObject.addon.hint,event.Manager,Event,Clusterer,templateLayoutFactory,map.Balloon,map.GeoObjects,control.Button,control.RulerControl" type="text/javascript"></script>

 По нажатию на кнопку, вызывается функция создания могоугольника getPolygon(), в которой я создаю многоугольник без вершин, добавляю его на карту и использую метод startDrawing(). Код функции можно увидеть ниже:

// Функция создания многоугольника
function getPolygon() {
    var coords = [];
    var params = {};
    var options = {
        draggable: true,
        editorDrawingCursor: "crosshair"
    };
   // Создаю многоугольник
    polygon = new ymaps.Polygon(coords, params, options);
   // Добавляю его на карту
    map.geoObjects.add(polygon);
   // Добавляю метод startDrawing()
    polygon.editor.startDrawing();
}

При нажатии на кнопку возникает ошибка:

Cannot read property 'startDrawing' of undefined

Если подключить все модули, работает,

<script src="http://api-maps.yandex.ru/2.1/?load=package.full&lang=ru-RUtype="text/javascript"></script>

из чего я сделал вывод, что проблема возникает из-за подключенных подулей!

Подскажите, пожалуйста, какой модуль требуется подключить, geometryEditor.Polygon недостаточно?

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

у вас в начале поста подключается версия 2.1 внизу уже 2.0. Какую в итоге версию вы подключаете?

Простите, описался, подключаю 2.1

geoObject.addon.editor 
именно он создает .editor  у геообъекта, а geometryEditor.Polygon о геообъекте ничего не знает и принимает геометрию.

Спасибо за ответ, теперь разобрался)