Стили карты

В MapKit можно менять внешний вид отображаемой карты, её насыщенность, яркость и тон цветов.

  1. Как задать стиль карты
  2. Как применить стиль карты

Как задать стиль карты

Стиль карты задается с помощью JSON-строки следующего вида:

[
  {
  "featureType" : "string",
  "stylers" : {
    "hue" : "double",
    "saturation" : "double",
    "lightness" : "double"
    }
  }
]
Внимание. Обязательные параметры отмечены знаком «*».
featureType *
Класс объекта, к которому нужно применить стили. Чтобы применить стили ко всем объектам на слое, используйте значение all.
stylers
Используемый стиль карты в формате HSV.
hue
Изменяет цветовой тон объектов на карте. Допустимые значения: от -1 до 1.

Примеры:

"hue": 0.5
"hue": -0.5
saturation
Изменяет насыщенность цветов на карте. Допустимые значения: от -1 до 1.

Примеры:

"saturation": 1
"saturation": -1
lightness
Изменяет яркость цветов на карте. Допустимые значения: от -1 до 1.

Примеры:

"lightness": 0.5
"lightness": -0.5

Обязательный параметр

Как применить стиль карты

Для применения стилей к карте используйте следующие методы:

  • setMapStyle — для основного слоя карты.
  • setTrafficStyle — для слоя пробок.
String style = "[" +
              "  {" +
              "    \"featureType\" : \"all\"," +
              "    \"stylers\" : {" +
              "      \"hue\" : \"1\"," +
              "      \"saturation\" : \"0.3\"," +
              "      \"lightness\" : \"-0.7\"" +
              "    }" +
              "  }" +
              "]";
mapview.getMap().setMapStyle(style);
mapview.getMap().getTrafficLayer().setTrafficStyleWithStyle(style);