Редактор ломаной

Open in CodeSandbox

Для ломаных доступен визуальный редактор. Ссылка на редактор содержится в поле editor объекта-ломаной.

<!DOCTYPE html>

<html>
    <head>
        <title>Примеры. Редактор ломаной</title>
        <meta
            http-equiv="Content-Type"
            content="text/html; charset=utf-8"
        />
        <!--
        Укажите свой API-ключ. Тестовый ключ НЕ БУДЕТ работать на других сайтах.
        Получить ключ можно в Кабинете разработчика: https://developer.tech.yandex.ru/keys/
    -->
        <script
            src="https://api-maps.yandex.ru/2.0/?load=package.standard,package.geoObjects,package.editor&amp;lang=ru-RU&amp;apikey=<ваш API-ключ>"
            type="text/javascript"
        ></script>

        <script src="polylineEditor.js" type="text/javascript"></script>
    </head>

    <body>
        <div id="map" style="width:400px; height:300px"></div>
    </body>
</html>
ymaps.ready(init);

function init() {
    // Создаем карту.
    var myMap = new ymaps.Map("map", {
        center: [55.72, 37.64],
        zoom: 10,
    });

    // Создаем ломаную.
    var myPolyline = new ymaps.Polyline(
        [
            // Указываем координаты вершин.
            [55.8, 37.5],
            [55.8, 37.4],
            [55.7, 37.5],
            [55.7, 37.4],
        ],
        {},
        {
            // Задаем опции геообъекта.
            // Цвет с прозрачностью.
            strokeColor: "#00000088",
            // Ширину линии.
            strokeWidth: 4,
            // Максимально допустимое количество вершин в ломаной.
            editorMaxPoints: 6,
            // Добавляем в контекстное меню новый пункт, позволяющий удалить ломаную.
            editorMenuManager: function (items) {
                items.push({
                    title: "Удалить линию",
                    onClick: function () {
                        myMap.geoObjects.remove(myPolyline);
                    },
                });
                return items;
            },
        }
    );

    // Добавляем линию на карту.
    myMap.geoObjects.add(myPolyline);

    // Включаем режим редактирования.
    myPolyline.editor.startEditing();
}