Схема JSON для стилизации облачных карт позволяет использовать JSON для настройки карт так же, как через интерфейс редактора стилей. В этом документе описывается схема JSON и порядок создания объявлений стилей JSON.
Чтобы узнать, как редактировать стиль карты с помощью JSON в редакторе стилей или импортировать и экспортировать стиль карты, см. раздел Использование JSON с облачными стилями карт .
Посмотрите пример объявления стиля JSON
Следующее объявление стиля JSON задает цвет фона, а затем определяет стили для точек интереса, парков, водных объектов и скрывает метки для мест расположения ресторанов и баров.
{
"variant": "light",
"styles": [
{
"id": "natural.land",
"geometry": {
"fillColor": "#f7e3f7"
}
},
{
"id": "natural.water",
"geometry": {
"fillColor": "#d4b2ff"
},
"label": {
"textFillColor": "#3d2163",
"textStrokeColor": "#f0e1ff"
}
},
{
"id": "pointOfInterest",
"label": {
"pinFillColor": "#e0349a",
"textFillColor": "#a11e6e",
"textStrokeColor": "#ffd9f0"
}
},
{
"id": "pointOfInterest.emergency.hospital",
"geometry": {
"fillColor": "#ffe3e3"
}
},
{
"id": "pointOfInterest.foodAndDrink",
"label": {
"visible": false
}
},
{
"id": "pointOfInterest.recreation.park",
"geometry": {
"fillColor": "#f9b9d2"
}
}
]
}
Объект JSON
Декларация стиля JSON состоит из объекта верхнего уровня и массива правил стиля.
- Настройки верхнего уровня (необязательно) — глобальные настройки стиля, такие как
backgroundColor
иvariant
. -
styles
— массив объектов правил стилей, который может состоять из следующего:-
id
— элемент карты, который следует выбрать для этой модификации стиля (например,pointOfInterest.recreation.park
). -
geometry
(необязательно) — геометрические элементы объекта карты и правила стиля, которые следует применять (например,fillColor
). -
label
(необязательно) — текст или метка булавки объекта карты и правила стиля, которые следует применять (например,textStrokeColor
).
-
Настройки верхнего уровня
Свойства в следующей таблице применяются ко всему стилю карты.
Свойство | Тип | Описание | Пример |
---|---|---|---|
| Нить | Настройте цвет фона приложения карты с помощью шестнадцатеричной строки #RRGGBB. Этот параметр не поддерживает изменение прозрачности. | "#002211" |
| "свет"|"темный" | Укажите светлый или тёмный режим. Если не указано иное, по умолчанию используется «светлый». | "свет" |
| булев | Чтобы включить монохромный режим, используйте true для серой версии карты. | |
Объекты правил стиля
В этом разделе описываются свойства, определяющие объекты правил стиля в массиве styles
для настройки объектов карты. Каждый объект правила стиля должен включать в себя следующие элементы:
- свойство
id
. - Определен элемент
geometry
илиlabel
с соответствующими свойствами стилизатора.
id
(объект карты)
Свойство id
определяет стилизуемый объект карты. Имена свойств представляют собой версии имён объектов карты в редакторе стилей в стиле «camelcase».
Объекты карты образуют дерево категорий. Если указать родительский тип объекта, например, pointOfInterest
, заданные для него стили будут применяться ко всем его дочерним объектам, например, pointOfInterest.retail
и pointOfInterest.lodging
. Подробнее см. в разделе Иерархия объектов карты .
Список доступных свойств id
Доступны следующие свойства id
:
-
pointOfInterest
-
pointOfInterest.emergency
-
pointOfInterest.emergency.fire
-
pointOfInterest.emergency.hospital
-
pointOfInterest.emergency.pharmacy
-
pointOfInterest.emergency.police
-
pointOfInterest.entertainment
-
pointOfInterest.entertainment.arts
-
pointOfInterest.entertainment.casino
-
pointOfInterest.entertainment.cinema
-
pointOfInterest.entertainment.historic
-
pointOfInterest.entertainment.museum
-
pointOfInterest.entertainment.themePark
-
pointOfInterest.entertainment.touristAttraction
-
pointOfInterest.foodAndDrink
-
pointOfInterest.foodAndDrink.bar
-
pointOfInterest.foodAndDrink.cafe
-
pointOfInterest.foodAndDrink.restaurant
-
pointOfInterest.foodAndDrink.winery
-
pointOfInterest.landmark
-
pointOfInterest.lodging
-
pointOfInterest.recreation
-
pointOfInterest.recreation.beach
-
pointOfInterest.recreation.boating
-
pointOfInterest.recreation.fishing
-
pointOfInterest.recreation.golfCourse
-
pointOfInterest.recreation.hotSpring
-
pointOfInterest.recreation.natureReserve
-
pointOfInterest.recreation.park
-
pointOfInterest.recreation.peak
-
pointOfInterest.recreation.sportsComplex
-
pointOfInterest.recreation.sportsField
-
pointOfInterest.recreation.trailhead
-
pointOfInterest.recreation.zoo
-
pointOfInterest.retail
-
pointOfInterest.retail.grocery
-
pointOfInterest.retail.shopping
-
pointOfInterest.service
-
pointOfInterest.service.atm
-
pointOfInterest.service.bank
-
pointOfInterest.service.carRental
-
pointOfInterest.service.evCharging
-
pointOfInterest.service.gasStation
-
pointOfInterest.service.parkingLot
-
pointOfInterest.service.postOffice
-
pointOfInterest.service.restStop
-
pointOfInterest.service.restroom
-
pointOfInterest.transit
-
pointOfInterest.transit.airport
-
pointOfInterest.other
-
pointOfInterest.other.bridge
-
pointOfInterest.other.cemetery
-
pointOfInterest.other.government
-
pointOfInterest.other.library
-
pointOfInterest.other.military
-
pointOfInterest.other.placeOfWorship
-
pointOfInterest.other.school
-
pointOfInterest.other.townSquare
-
political
-
political.countryOrRegion
-
political.border
-
political.reservation
-
political.stateOrProvince
-
political.city
-
political.sublocality
-
political.neighborhood
-
political.landParcel
-
infrastructure
-
infrastructure.building
-
infrastructure.building.commercial
-
infrastructure.businessCorridor
-
infrastructure.roadNetwork
-
infrastructure.roadNetwork.noTraffic
-
infrastructure.roadNetwork.noTraffic.pedestrianMall
-
infrastructure.roadNetwork.noTraffic.trail
-
infrastructure.roadNetwork.noTraffic.trail.paved
-
infrastructure.roadNetwork.noTraffic.trail.unpaved
-
infrastructure.roadNetwork.parkingAisle
-
infrastructure.roadNetwork.ramp
-
infrastructure.roadNetwork.road
-
infrastructure.roadNetwork.road.arterial
-
infrastructure.roadNetwork.road.highway
-
infrastructure.roadNetwork.road.local
-
infrastructure.roadNetwork.road.noOutlet
-
infrastructure.roadNetwork.roadShield
-
infrastructure.roadNetwork.roadSign
-
infrastructure.roadNetwork.roadDetail
-
infrastructure.roadNetwork.roadDetail.surface
-
infrastructure.roadNetwork.roadDetail.crosswalk
-
infrastructure.roadNetwork.roadDetail.sidewalk
-
infrastructure.roadNetwork.roadDetail.intersection
-
infrastructure.railwayTrack
-
infrastructure.railwayTrack.commercial
-
infrastructure.railwayTrack.commuter
-
infrastructure.transitStation
-
infrastructure.transitStation.bicycleShare
-
infrastructure.transitStation.busStation
-
infrastructure.transitStation.ferryTerminal
-
infrastructure.transitStation.funicularStation
-
infrastructure.transitStation.gondolaStation
-
infrastructure.transitStation.monorail
-
infrastructure.transitStation.railStation
-
infrastructure.transitStation.railStation.subwayStation
-
infrastructure.transitStation.railStation.tramStation
-
infrastructure.urbanArea
-
natural
-
natural.continent
-
natural.archipelago
-
natural.island
-
natural.land
-
natural.land.landCover
-
natural.land.landCover.crops
-
natural.land.landCover.dryCrops
-
natural.land.landCover.forest
-
natural.land.landCover.ice
-
natural.land.landCover.sand
-
natural.land.landCover.shrub
-
natural.land.landCover.tundra
-
natural.water
-
natural.water.ocean
-
natural.water.lake
-
natural.water.river
-
natural.water.other
-
natural.base
Элементы
Элементы — это части объекта карты. Например, дорога состоит из графической линии ( geometry
) на карте, а также текста, обозначающего её название ( label
).
Доступны следующие элементы, но учтите, что конкретный объект карты может не поддерживать ни один, некоторые или все элементы:
-
geometry
: выбирает все геометрические элементы (например, многоугольник, полилинию) указанного объекта карты. -
label
: выбирает все элементы метки (например, текст, булавку) указанного объекта карты.
Стайлеры
Стилисты — это то, с помощью чего вы определяете правила стиля для каждого элемента карты.
Например, для контура здания вы можете оформить каждый элемент следующим образом:
Примеры стилизаторов geometry для здания | Примеры стилизаторов label для здания |
---|---|
Скрывать или отображать полигон контура здания на карте. | Скрывать или показывать этикетку здания. |
Цвет и непрозрачность заливки многоугольника. | Цвет заливки текста и непрозрачность. |
Цвет, непрозрачность и ширина границы. | Цвет и непрозрачность обводки текста. |
В этом разделе описываются различные варианты стилей, доступные для элементов geometry
и label
.
стилизаторы geometry
В следующей таблице перечислены все доступные геометрические стилизаторы.
Стайлер | Тип | Описание |
---|---|---|
| булев | Чтобы скрыть многоугольник или полилинию объекта карты, установите значение false . |
| нить | Настройте цвет многоугольника или полилинии с помощью шестнадцатеричной строки RGB. |
| плавать | Настройте непрозрачность многоугольника или полилинии, где 0 — прозрачность, а 1 — непрозрачность. |
| нить | Настройте цвет контура с помощью шестнадцатеричной строки RGB. |
| плавать | Настройте непрозрачность контура, где 0 — прозрачный, а 1 — непрозрачный. |
| плавать | Настройте толщину контура в диапазоне от 0 до 8. |
Более подробную информацию см. в разделе Полигоны и полилинии .
стилизаторы label
В следующей таблице перечислены все доступные стилизаторы этикеток.
Стайлер | Тип | Описание |
---|---|---|
| булев | Чтобы скрыть метку объекта карты, установите значение false . |
| нить | Настройте цвет текстовой метки с помощью шестнадцатеричной строки RGB. |
| плавать | Настройте прозрачность текстовой метки, где 0 — прозрачность, а 1 — непрозрачность. |
| нить | Настройте цвет контура с помощью шестнадцатеричной строки RGB. |
| плавать | Настройте непрозрачность контура, где 0 — прозрачный, а 1 — непрозрачный. |
| плавать | Настройте толщину контура в диапазоне от 0 до 8. |
| нить | Настройте цвет пина с помощью шестнадцатеричной строки RGB. |
Более подробную информацию см. в разделе Значки и текстовые метки .
Keyzooms
Вы можете задать единый стиль для объекта для всех уровней масштабирования или указать разные стили для разных уровней масштабирования. Если указать только один стиль, он будет использоваться для всех уровней масштабирования, начиная с z0. Если указать стили для разных уровней масштабирования, стиль будет применяться с этого уровня масштабирования до следующего заданного вами уровня.
Чтобы задать уровень масштабирования клавиши для стиля, в свойстве styler определите уровень масштабирования клавиши от z0 до z22, а затем настройте styler.
В следующем примере цвет воды — черный при уровнях масштабирования 0–5, темно-серый при уровнях масштабирования 6–11 и светло-серый, начиная с уровня масштабирования 12.
{
"id": "natural.water",
"geometry": {
"fillColor": {
"z0": "#000000",
"z6": "#666666",
"z12": "#cccccc"
}
}
}
Для получения дополнительной информации см. раздел Уровни масштабирования стилей .