Система стилизации карт строится вокруг двух базовых измерений: типов географических объектов (FeatureType) и типов визуальных элементов (ElementType). Именно их комбинация определяет, какие части карты изменяются и каким образом.
Внутри модели визуализации карты все элементы делятся на две независимые категории:
Эта модель позволяет разделять «что отображается» и «как отображается».
FeatureType определяет, к какому классу относится объект на карте. Эти типы используются в правилах стилизации для выбора области воздействия.
Используются для государственных и территориальных границ:
administrative.country — странаadministrative.province — регион / областьadministrative.locality — городadministrative.neighborhood — районadministrative.land_parcel — земельные участкиАдминистративные объекты часто стилизуются для создания «политических» карт, минималистичных интерфейсов или акцентирования границ.
road — все дорогиroad.highway — автомагистралиroad.arterial — магистральные улицыroad.local — локальные улицыПодкатегории позволяют дифференцировать визуальную важность транспортных путей.
landscape — общие ландшафтыpoi.park — паркиwater — водоёмыnatural.landcover — природное покрытие (леса, пустыни и
т.д.)Эти типы часто используются для создания тематических карт (туризм, экология, навигация).
poi.business — коммерческие объектыpoi.attraction — достопримечательностиpoi.government — государственные учрежденияpoi.medical — медицинские объектыPOI-слой часто скрывается или упрощается в минималистичных интерфейсах.
transit — транспортные узлы и маршрутыtransit.station — станцииall — универсальный селектор для всех типовЕсли FeatureType определяет «что», то ElementType определяет «какая часть объекта изменяется».
Определяет форму объекта (геометрические контуры):
Используется для изменения цвета, насыщенности, прозрачности.
Отвечает за заливку текста подписей:
Контур текста, обеспечивающий читаемость:
Иконки POI и транспортных объектов.
Группа всех текстовых элементов (универсальный уровень управления подписью).
Каждое правило описывает комбинацию FeatureType + ElementType и набор визуальных параметров:
color — цвет (HEX или RGB)visibility — отображение (on,
off, simplified)lightness — светлотностьsaturation — насыщенностьgamma — контрастная коррекцияweight — толщина линий (для геометрии)Принцип применения правил — каскадный: более специфичные правила перекрывают общие.
Стилизация в API реализуется через два основных механизма.
Базовый JSON-формат описания стилей:
Структура:
featureTypeelementTypestylersОбъект, создающий отдельный тип карты:
map.mapTypes.set()Ключевая особенность — возможность существования нескольких визуальных «режимов» одной карты.
Система стилизации работает через пересечение двух осей:
Пример логики:
road + geometryadministrative.locality + labelspoi + allСтили применяются по иерархии:
all (глобальный уровень)road, poi)road.highway)road.highway + geometry)Это позволяет строить сложные визуальные схемы без конфликтов правил.
Каждый стиль внутри правила задаётся через массив
stylers:
Изменяет цвет геометрии или текста.
Управляет отображением:
on — показатьoff — скрытьsimplified — упрощённое отображениеКонтролирует интенсивность цвета:
Регулирует яркость объекта.
Коррекция контрастности для визуальной балансировки карты.
Толщина линий (актуально для дорог и границ).
Если два правила применяются к одному FeatureType и ElementType, приоритет определяется порядком объявления.
Правило road автоматически влияет на:
road.highwayroad.arterialroad.localесли для них не задано более специфичное правило.
Комбинация:
visibility: offполностью удаляет слой из визуального отображения, но не из данных карты.
Система типов формирует трёхуровневую модель:
Эта модель обеспечивает детальную настройку карты без изменения исходных данных геометрии и позволяет создавать как минималистичные, так и высокодетализированные визуальные представления.