Для завершения создания многоугольника с использованием Яндекс карт 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.