Прямоугольник

Open in CodeSandbox

Прямоугольник может быть создан двумя способами: с помощью класса GeoObject с указанием типа геометрии "Прямоугольник" либо с помощью вспомогательного класса Rectangle.

При создании прямоугольника необходимо указать координаты двух его противоположных вершин. Также для него могут быть заданы свойства (например, содержимое его балуна или хинта) и опции (например, цвет его заливки).

Прямоугольники могут объединяться в коллекции.

<!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&amp;apikey=<ваш API-ключ>"
            type="text/javascript"
        ></script>
        <script src="rectangle.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);
var myMap, myGeoObject, myRectangle;

function init() {
    myMap = new ymaps.Map(
        "map",
        {
            center: [55.674, 37.601],
            zoom: 11,
        },
        {
            searchControlProvider: "yandex#search",
        }
    );

    // Cоздаем геообъект с типом геометрии "прямоугольник".
    myGeoObject = new ymaps.GeoObject(
        {
            // Геометрия = тип геометрии + координаты геообъекта.
            geometry: {
                // Тип геометрии - прямоугольник.
                type: "Rectangle",
                // Координаты.
                coordinates: [
                    [55.665, 37.66],
                    [55.64, 37.53],
                ],
            },
            // Свойства.
            properties: {
                hintContent: "Перетащи меня!",
                balloonContent: "Прямоугольник 2",
            },
        },
        {
            // Опции.
            // Объект можно перетаскивать.
            draggable: true,
            // Цвет и прозрачность заливки.
            fillColor: "#ffff0022",
            // Цвет и прозрачность границ.
            strokeColor: "#3caa3c88",
            // Ширина линии.
            strokeWidth: 7,
        }
    );

    // Создаем прямоугольник с помощью вспомогательного класса.
    myRectangle = new ymaps.Rectangle(
        [
            // Задаем координаты диагональных углов прямоугольника.
            [55.66, 37.6],
            [55.71, 37.69],
        ],
        {
            //Свойства
            hintContent: "Меня перетаскивать нельзя!",
            balloonContent: "Прямоугольник 1",
        },
        {
            // Опции.
            // Цвет и прозрачность заливки.
            fillColor: "#7df9ff33",
            // Дополнительная прозрачность заливки..
            // Итоговая прозрачность будет не #33(0.2), а 0.1(0.2*0.5).
            fillOpacity: 0.5,
            // Цвет обводки.
            strokeColor: "#0000FF",
            // Прозрачность обводки.
            strokeOpacity: 0.5,
            // Ширина линии.
            strokeWidth: 2,
            // Радиус скругления углов.
            // Данная опция принимается только прямоугольником.
            borderRadius: 6,
        }
    );

    myMap.geoObjects.add(myRectangle).add(myGeoObject);
}