Справочник JSON по стилизации облачных карт

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

Схема JSON для стилизации облачных карт позволяет использовать 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 ).

Настройки верхнего уровня

Свойства в следующей таблице применяются ко всему стилю карты.

Свойство Тип Описание Пример

backgroundColor

Нить Настройте цвет фона приложения карты с помощью шестнадцатеричной строки #RRGGBB. Этот параметр не поддерживает изменение прозрачности. "#002211"

variant

"свет"|"темный" Укажите светлый или тёмный режим. Если не указано иное, по умолчанию используется «светлый». "свет"

monochrome

булев Чтобы включить монохромный режим, используйте true для серой версии карты.

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

В следующей таблице перечислены все доступные геометрические стилизаторы.

Стайлер Тип Описание

visible

булев Чтобы скрыть многоугольник или полилинию объекта карты, установите значение false .

fillColor

нить Настройте цвет многоугольника или полилинии с помощью шестнадцатеричной строки RGB.

fillOpacity

плавать Настройте непрозрачность многоугольника или полилинии, где 0 — прозрачность, а 1 — непрозрачность.

strokeColor

нить Настройте цвет контура с помощью шестнадцатеричной строки RGB.

strokeOpacity

плавать Настройте непрозрачность контура, где 0 — прозрачный, а 1 — непрозрачный.

strokeWeight

плавать Настройте толщину контура в диапазоне от 0 до 8.

Более подробную информацию см. в разделе Полигоны и полилинии .

стилизаторы label

В следующей таблице перечислены все доступные стилизаторы этикеток.

Стайлер Тип Описание

visible

булев Чтобы скрыть метку объекта карты, установите значение false .

textFillColor

нить Настройте цвет текстовой метки с помощью шестнадцатеричной строки RGB.

textFillOpacity

плавать Настройте прозрачность текстовой метки, где 0 — прозрачность, а 1 — непрозрачность.

textStrokeColor

нить Настройте цвет контура с помощью шестнадцатеричной строки RGB.

textStrokeOpacity

плавать Настройте непрозрачность контура, где 0 — прозрачный, а 1 — непрозрачный.

textStrokeWeight

плавать Настройте толщину контура в диапазоне от 0 до 8.

pinFillColor

нить Настройте цвет пина с помощью шестнадцатеричной строки RGB.

Более подробную информацию см. в разделе Значки и текстовые метки .

Keyzooms

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

Чтобы задать уровень масштабирования клавиши для стиля, в свойстве styler определите уровень масштабирования клавиши от z0 до z22, а затем настройте styler.

В следующем примере цвет воды — черный при уровнях масштабирования 0–5, темно-серый при уровнях масштабирования 6–11 и светло-серый, начиная с уровня масштабирования 12.

{
  "id": "natural.water",
  "geometry": {
    "fillColor": {
      "z0": "#000000",
      "z6": "#666666",
      "z12": "#cccccc"
    }
  }
}

Для получения дополнительной информации см. раздел Уровни масштабирования стилей .