Задание стиля объектов

Open in CodeSandbox

YMapsML позволяет задавать внешний вид отображаемых на карте объектов. Изменение внешнего вида отображаемых объектов производится с помощью стилей. Стили позволяют задавать некоторые параметры отображения геообъектов и формировать их произвольное HTML-представление с помощью шаблонов (см. пример использования шаблонов).

Для определения стилей используется элемент repr:Style, который размещается в элементе repr:Representation.

Чтобы указать, какой стиль следует применять при отображении объекта, в элементе ymaps:GeoObject следует задать элемент ymaps:style. В нем указывается ссылка на стиль, который был определен в элементе repr:Style. Таким же способом в элементе ymaps:GeoObjectCollection можно задавать стиль для коллекции геообъектов.

<!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="ymapsml_setstyle.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: [61.766513, 34.344165],
            zoom: 12,
        },
        {
            searchControlProvider: "yandex#search",
        }
    );

    // Загрузка YMapsML-файла
    ymaps.geoXml.load("data.xml").then(
        function (res) {
            // Добавление геообъектов на карту.
            myMap.geoObjects.add(res.geoObjects);
            // Вызывается в случае неудачной загрузки YMapsML-файла.
        },
        function (error) {
            alert("Ошибка: " + error);
        }
    );
}