Многоугольник
Многоугольник представляет собой замкнутую фигуру, состоящую из набора последовательно соединенных вершин. Многоугольник может иметь внутренние контуры.
Многоугольник может быть создан двумя способами: с помощью класса GeoObject с указанием типа геометрии "Многоугольник" либо с помощью вспомогательного класса Polygon.
При создании многоугольника необходимо указать координаты его вершин. Также могут быть заданы свойства (например содержимое балуна или хинта) и опции (например цвет заливки или стиль контура) многоугольника.
Для многоугольников доступен визуальный редактор. Ссылка на редактор содержится в поле 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.1/?lang=ru_RU&apikey=<ваш API-ключ>"
type="text/javascript"
></script>
<script src="polygon.js" type="text/javascript"></script>
<style>
html,
body,
#map {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
}
</style>
</head>
<body>
<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",
}
);
// Создаем многоугольник, используя класс GeoObject.
var myGeoObject = new ymaps.GeoObject(
{
// Описываем геометрию геообъекта.
geometry: {
// Тип геометрии - "Многоугольник".
type: "Polygon",
// Указываем координаты вершин многоугольника.
coordinates: [
// Координаты вершин внешнего контура.
[
[55.75, 37.8],
[55.8, 37.9],
[55.75, 38.0],
[55.7, 38.0],
[55.7, 37.8],
],
// Координаты вершин внутреннего контура.
[
[55.75, 37.82],
[55.75, 37.98],
[55.65, 37.9],
],
],
// Задаем правило заливки внутренних контуров по алгоритму "nonZero".
fillRule: "nonZero",
},
// Описываем свойства геообъекта.
properties: {
// Содержимое балуна.
balloonContent: "Многоугольник",
},
},
{
// Описываем опции геообъекта.
// Цвет заливки.
fillColor: "#00FF00",
// Цвет обводки.
strokeColor: "#0000FF",
// Общая прозрачность (как для заливки, так и для обводки).
opacity: 0.5,
// Ширина обводки.
strokeWidth: 5,
// Стиль обводки.
strokeStyle: "shortdash",
}
);
// Добавляем многоугольник на карту.
myMap.geoObjects.add(myGeoObject);
// Создаем многоугольник, используя вспомогательный класс Polygon.
var myPolygon = new ymaps.Polygon(
[
// Указываем координаты вершин многоугольника.
// Координаты вершин внешнего контура.
[
[55.75, 37.5],
[55.8, 37.6],
[55.75, 37.7],
[55.7, 37.7],
[55.7, 37.5],
],
// Координаты вершин внутреннего контура.
[
[55.75, 37.52],
[55.75, 37.68],
[55.65, 37.6],
],
],
{
// Описываем свойства геообъекта.
// Содержимое балуна.
hintContent: "Многоугольник",
},
{
// Задаем опции геообъекта.
// Цвет заливки.
fillColor: "#00FF0088",
// Ширина обводки.
strokeWidth: 5,
}
);
// Добавляем многоугольник на карту.
myMap.geoObjects.add(myPolygon);
}