Редактор многоугольника
Для многоугольников доступен визуальный редактор. Ссылка на редактор содержится в поле editor объекта-многоугольника.
index.html
polygonEditor.js
<!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.1/?lang=ru_RU&apikey=<ваш API-ключ>"
type="text/javascript"
></script>
<script src="polygonEditor.js" type="text/javascript"></script>
<style>
html,
body {
width: 100%;
height: 95%;
padding: 0;
margin: 0;
font-family: Arial;
}
#map {
widht: 100%;
height: 90%;
}
.header {
padding: 5px;
}
</style>
</head>
<body>
<p class="header">
Кликните на карту, чтобы начать создание многоугольника
</p>
<div id="map"></div>
</body>
</html>
ymaps.ready(init);
function init() {
var myMap = new ymaps.Map(
"map",
{
center: [55.73, 37.75],
zoom: 10,
},
{
searchControlProvider: "yandex#search",
}
);
// Создаем многоугольник без вершин.
var myPolygon = new ymaps.Polygon(
[],
{},
{
// Курсор в режиме добавления новых вершин.
editorDrawingCursor: "crosshair",
// Максимально допустимое количество вершин.
editorMaxPoints: 5,
// Цвет заливки.
fillColor: "#00FF00",
// Цвет обводки.
strokeColor: "#0000FF",
// Ширина обводки.
strokeWidth: 5,
}
);
// Добавляем многоугольник на карту.
myMap.geoObjects.add(myPolygon);
// В режиме добавления новых вершин меняем цвет обводки многоугольника.
var stateMonitor = new ymaps.Monitor(myPolygon.editor.state);
stateMonitor.add("drawing", function (newValue) {
myPolygon.options.set(
"strokeColor",
newValue ? "#FF0000" : "#0000FF"
);
});
// Включаем режим редактирования с возможностью добавления новых вершин.
myPolygon.editor.startDrawing();
}