Стили карты
В MapKit можно менять внешний вид отображаемой карты, её насыщенность, яркость и тон цветов.
Как задать стиль карты
Стиль карты задается с помощью 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);
NSString *style = @"["
"{"
"\featureType\" : \"all\","
"\"stylers\" : {"
"\"hue\" : \"1\","
"\"saturation\" : \"0.3\","
"\"lightness\" : \"-0.7\""
"}"
"}"
"]";
[[YMKMap Mapview] setMapStyleWithStyle:style];
[[YMKTrafficLayer Traffic] setTrafficStyleWithStyle:style];