Как завершить создание многоугольника в Яндекс карты API?

Для завершения создания многоугольника с использованием Яндекс карт API в JavaScript необходимо выполнить следующие шаги:

1. Создайте экземпляр объекта ymaps.Map, который будет представлять карту.

var myMap = new ymaps.Map("map", {
  center: [55.76, 37.64],
  zoom: 10
});

2. Создайте экземпляр объекта ymaps.Polygon для создания многоугольника на карте. Укажите координаты вершин многоугольника.

var myPolygon = new ymaps.Polygon([
  // Здесь указываются координаты вершин многоугольника
  [55.753994, 37.622093],
  [55.752639, 37.618822],
  [55.751976, 37.620085],
  [55.752377, 37.623774]
], {}, {
  fillColor: '#00FF00', // Задаем цвет заливки многоугольника
  strokeColor: '#0000FF', // Задаем цвет контура многоугольника
  strokeWidth: 2 // Задаем толщину контура многоугольника
});

3. Добавьте созданный многоугольник на карту, вызвав метод ymaps.Polygon.setMap().

myPolygon.setMap(myMap);

4. В этом шаге объясним два способа завершить создание многоугольника:

Способ 1: Завершение создания при клике на последнюю вершину многоугольника.

   myPolygon.editor.startDrawing(); // Включаем режим редактирования многоугольника
   myPolygon.editor.events.add('drawcomplete', function() {
     myPolygon.editor.stopDrawing(); // Отключаем режим редактирования многоугольника
   });

Способ 2: Завершение создания при нажатии на клавишу Enter на клавиатуре.

   myPolygon.editor.startDrawing(); // Включаем режим редактирования многоугольника
   myPolygon.editor.events.add('keydown', function(e) {
     if (e.originalEvent.code === 'Enter') {
       myPolygon.editor.stopDrawing(); // Отключаем режим редактирования многоугольника
     }
   });

5. После завершения создания многоугольника можно получить его координаты при необходимости.

var coordinates = myPolygon.geometry.getCoordinates(); // Получаем координаты многоугольника
console.log(coordinates);

Это полный код для создания многоугольника и завершения его создания при клике на последнюю вершину многоугольника:

var myMap = new ymaps.Map("map", {
  center: [55.76, 37.64],
  zoom: 10
});

var myPolygon = new ymaps.Polygon([
  [55.753994, 37.622093],
  [55.752639, 37.618822],
  [55.751976, 37.620085],
  [55.752377, 37.623774]
], {}, {
  fillColor: '#00FF00',
  strokeColor: '#0000FF',
  strokeWidth: 2
});

myPolygon.setMap(myMap);

myPolygon.editor.startDrawing();
myPolygon.editor.events.add('drawcomplete', function() {
  myPolygon.editor.stopDrawing();
  var coordinates = myPolygon.geometry.getCoordinates();
  console.log(coordinates);
});

Это один из возможных способов завершения создания многоугольника в Яндекс карты API с использованием JavaScript.