Наследование и иерархия стилей карты

Выберите платформу: Android iOS JavaScript Web Service

При настройке стиля карты полезно понимать, как стилизация различных элементов карты может повлиять на другие стили на карте. Существует несколько перекрывающихся слоев:

  • Базовая карта : Когда вы начинаете создавать стиль карты, первое, что вы видите, — это стиль базовой карты; то есть карта по умолчанию. Любые функции карты, которые вы не настраиваете, сохраняют базовый стиль карты.

  • Стили карты : пользовательские стили переопределяют стили на базовом слое карты. На этом изображении пользовательский стиль карты переопределяет городские районы как аквамариновые, а дороги как темно-синие.

  • Элементы стиля : каждый элемент карты имеет один или несколько элементов стиля, которые можно настроить. На этом изображении цвет заливки полигона элемента карты городских территорий стилизован под аквамарин, а цвет заливки дорожной сети стилизован под синий.

    Базовая карта с наложенным сверху стилем карты, на которой показаны элементы стиля городских территорий цвета морской волны и дорожных сетей синего цвета.

Иерархия объектов карты

В стиле карты объекты карты организованы иерархически, с 4 общими объектами карты наверху и всеми остальными объектами карты, расположенными под ними в логической иерархии. По умолчанию объект карты наследует стили элементов для объекта карты, расположенного выше в иерархии (его родительского); однако вы можете переопределить стиль верхнего уровня, установив один или несколько элементов стиля для объектов карты под ним (дочерние объекты карты). Подробнее об иерархии объектов карты см. в разделе Что можно стилизовать на карте .

Каждый объект карты имеет один или несколько элементов или частей объекта карты, которые вы можете стилизовать. Например, цвет заливки для многоугольника (форма объекта карты) является элементом, как и цвет обводки для текстовой метки. Вы стилизуете каждый элемент отдельно, и любой элемент, к которому вы не стилизуете, сохраняет стиль по умолчанию. Поскольку элементы являются отдельными, вы можете стилизовать цвет заливки для текста метки и оставить цвет обводки (контура) по умолчанию (или унаследовать от родительского стиля).

Вот несколько полезных рекомендаций для понимания того, как работают иерархия стилей и наследование.

  • Дочерние стили по умолчанию наследуют от родительского : чтобы все дочерние элементы карты наследовали стиль, задайте стиль для родительского элемента карты и оставьте дочерний стиль по умолчанию.

  • Пользовательские дочерние стили переопределяют родительские : чтобы переопределить родительский стиль, задайте пользовательский стиль для дочернего элемента.

  • Элементы стиля независимы : элементы стиля, которые можно задать для объекта карты (например, многоугольник, значок метки, заливка и обводка текста метки), независимы друг от друга. Если задать цвет многоугольника, но оставить значок без изменений, стиль многоугольника переопределит родительский стиль, но значок унаследует родительский или стиль по умолчанию.

  • Отключите видимость, чтобы скрыть элементы карты : если вы хотите видеть на карте только один объект, вам придется отключить видимость всего остального.

Пример иерархии и наследования

Вот пример того, как работают наследование и иерархия.

  1. Выберите верхний уровень объекта карты Natural и установите цвет заливки полигона на желтый. Это стилизует все полигоны для объектов карты под Natural как желтые:

    Карта, на которой все природные объекты обозначены желтым цветом

  2. Вы хотите, чтобы Land cover , который находится под Natural , также был желтым, поэтому вы оставляете его без стиля, и он наследует стиль от Natural .

  3. Вы хотите, чтобы леса были зелеными, поэтому в разделе Land cover (земельный покров ) вы открываете Forest (лес ) и окрашиваете его полигон в зеленый цвет. Этот пользовательский дочерний стиль переопределяет стили для Land cover (земельный покров) и Natural (природный) .

    Карта, на которой лесные объекты обозначены зеленым цветом

  4. Вы хотите, чтобы лед отображался бледно-голубым цветом, поэтому в разделе Land Cover (Покров Земли ) откройте Ice (Лед ) и раскрасьте его многоугольник в бледно-голубой цвет.

    Карта, показывающая особенности ледовой карты, имеет бледно-голубой цвет

  5. И последнее, вы хотите, чтобы вода была цвета морской волны, поэтому вы выбираете Natural>Water и окрашиваете ее полигон в цвет морской волны. Установка дочернего стиля Water переопределяет родительский стиль для Natural .

    Карта, показывающая водные объекты на карте, имеют цвет морской волны

Выполните аналогичный процесс, чтобы выделить на карте необходимые вам элементы.