Кастомизация карты
Кастомизация карты позволяет изменить внешний вид большинства геообъектов на ней. Например, перекрасить дороги или дома в другой цвет.
Кастомизация задается параметром style в виде строки, содержащей один или несколько блоков, разделённых символом ~:
style=Блок1~Блок2~...~БлокN
Каждый блок состоит из списка фильтров и переопределяемых свойств, разделённых символом |:
Фильтр1|Фильтр2|...|ФильтрN|Свойство1|Свойство2|...|СвойствоN
Фильтр состоит из имени фильтра, символа : и списка значений, разделённых символом ;:
{имя фильтра}:{значение1};{значение2};...;{значениеN}
Поддерживаются следующие фильтры:
tags.all,tags.any,tags.none— описывают, к каким объектам должна применяться стилизация, подробнее в разделе Теги;types— ограничивает типы объектов. Возможные значения описаны в разделе Типы;elements— определяет элементы объекта, у которых меняются свойства отображения. Возможные значения описаны в разделе Элементы.
Переопределяемое свойство имеет следующий формат:
stylers.{имя свойства}:{значение}
stylers{диапазон масштабов}.{имя свойства}:{значение}
Диапазон масштабов может задаваться в формате [zoom] или [zmin-zmax].
Поддерживаемые свойства описаны в разделе Свойства.
Теги
Фильтры определяют подмножество объектов карты, к которым применяется блок кастомизации.
Большинство объектов на карте имеют один или несколько тегов, которые позволяют их классифицировать.
В качестве фильтра поддерживаются:
tags.all- у объекта должны присутствовать все указанные теги;tags.any- у объекта должен быть хотя бы один из указанных тегов;tags.none- у объекта не должно быть указанных тегов.
Если фильтр отсутствует, блок кастомизации применяется ко всем объектам карты.
Внимание
При наличии в одном из фильтров незнакомого тега блок кастомизации не применяется.
Список тегов
Теги объектов зависят от слоя карты, для которого применяются стили. Ниже перечислены теги, с помощью которых можно менять подложку карты.
- road — автомобильные дороги:
- road_N — автомобильные дороги важности N, где N — значение от 1 (наиболее важные) до 7 (наименее важные);
- road_limited — дороги с ограничением движения автомобильного транспорта, пешеходные зоны;
- road_unclassified — неклассифицированные дороги, как правило, лесные и полевые;
- road_minor — внутриквартальные проезды;
- road_construction — строящиеся дороги;
- ferry — паромные переправы;
- path — дороги, непригодные для проезда автомобилей (тротуары, дорожки в парках и на кладбищах, велодорожки);
- crosswalk — пешеходные и велосипедные переходы;
- underpass — подземные пешеходные переходы;
- traffic_light — светофоры.
- road_surface — дорожное полотно и границы дорожного полотна;
- road_marking — дорожная разметка;
- water — водные объекты:
- bathymetry — карта глубин водоемов.
- landscape — наземные объекты:
- land — земная поверхность;
- landcover — растительность, болота, ледники:
- vegetation — растительность, включая газоны, внутриквартальную растительность и точечные растения.
- urban_area — кварталы:
- residential — жилые кварталы;
- industrial — промышленные кварталы;
- cemetery — территории кладбищ;
- park — сады, парки;
- medical — территории медицинских учреждений;
- sports_ground — спортивные площадки и игровые поля;
- beach — территории пляжей;
- construction_site — строительные площадки;
- parking — парковки.
- national_park — национальные парки и заповедники;
- terrain — рельеф.
- poi — точки интереса:
- major_landmark — хорошо заметные объекты, отмеченные отдельной иконкой;
- outdoor — площадки на открытом воздухе:
- park — сады, парки;
- national_park — национальные парки и заповедники;
- beach — пляжи.
- parking — парковки;
- shopping — магазины, торговые центры;
- commercial_services — организации, предоставляющие коммерческие услуги:
- fuel_station — заправочные станции;
- hotel — гостиницы, жильё.
- food_and_drink — рестораны, бары;
- cemetery — кладбища;
- medical — медицинские учреждения.
- admin — подписи и границы административно-территориальных делений, полигоны населенных пунктов:
- country — страны;
- region — области или штаты;
- locality — населенные пункты;
- district — городские районы;
- address — адресные точки.
- transit — все объекты карты, связанные с общественным транспортом:
- transit_location — все точки на карте, связанные с общественным транспортом (станции метро, остановки, входы)
- transit_stop — остановки наземного общественного транспорта, где выполняется посадка и высадка пассажиров;
- transit_entrance — физические входы на станцию метро или выходы из нее.
- transit_line — линии транспорта как физический объект (железнодорожные и трамвайные пути, кабельные линии на поверхности);
- transit_schema — схематическое изображение линий общественного транспорта;
- is_unclassified_transit — объекты общественного транспорта, важность которых неизвестна.
- transit_location — все точки на карте, связанные с общественным транспортом (станции метро, остановки, входы)
- structure — структуры:
- building — здания:
- entrance — входы в здания.
- fence — заборы.
- building — здания:
- is_tunnel — участок дороги или пути проходит в тоннеле.
- is_toll — платный участок дороги.
- geographic_line — линия экватора, полярные круги.
Типы
Фильтр types определяет типы объектов карты, к которым применяется блок кастомизации. Можно задать один или несколько элементов. Возможные значения:
- point — точки. Например, автобусные остановки, POI.
- polyline — линии. Например, дороги, границы, русла рек.
- polygon — полигоны. Например, парки, озера.
Если фильтр отсутствует, блок кастомизации применяется ко всем типам объектов карты.
Элементы
Фильтр elements определяет элементы объекта карты, у которых меняются свойства отображения. Возможные значения:
- geometry — геометрические элементы объекта (является комбинацией geometry.fill и geometry.outline).
- geometry.fill — внутренняя область (заливка) геометрических элементов объекта.
- geometry.fill.pattern — картинка, которой мостится внутренняя область полигона или линии.
- geometry.outline — обводка геометрических элементов объекта.
- label — все элементы подписи объекта.
- label.icon — иконка объекта.
- label.text — текст подписи объекта (является комбинацией label.text.fill и label.text.outline).
- label.text.fill — заливка текста подписи объекта.
- label.text.outline — обводка текста подписи объекта.
Если фильтр отсутствует, свойства в данном блоке кастомизации будут меняться у всех элементов объектов карты.
Свойства
Поддерживаемые переопределяемые свойства (применяются в этом порядке):
visibility— задает видимость объекта. Возможное значение:off.hue— меняет цветовой тон объекта на карте, при этом оставляет насыщенность и яркость без изменений. Задается базовым цветом в форматеRRGGBB(см. описание свойстваcolor). При базовом цвете с неопределенным тоном (белом, сером или черном) цвет объекта не изменяется.saturation— меняет насыщенность цветов на карте. Задается в виде вещественного числа из диапазона[-1, 1]. При-1все цвета превращаются в оттенки серого, при1картинка приобретает очень высокую насыщенность цвета, при0цвет не изменяется. Оттенки серого не изменяются.lightness— меняет яркость цветов на карте. Задается в виде вещественного числа из диапазона[-1, 1]. При-1превращает все в черный, при1— в белый, при0цвет не изменяется.color— меняет цвет объекта (в случае иконки — ее primary цвет). Поддерживаются следующие форматы:RGB,RRGGBB,0xRGB,0xRRGGBB— строка с hex-кодом цвета.RGBA,RRGGBBAA,0xRGBA,0xRRGGBBAA— строка с hex-кодом цвета и альфа-каналом.
secondary-color— меняет вторичный цвет иконки. Формат такой же, как уcolor.tertiary-color— меняет третичный цвет иконки. Формат такой же, как уcolor.opacity— определяет относительную прозрачность объекта. Задается в виде вещественного числа. Работает какscaleдля alpha: это значение не заменяет, а умножается на уже существующее значение alpha у цвета. Если нужно именно заменить значение alpha, следует использовать задание цвета при помощиcolor.scale— меняет масштаб объекта. Задается в виде вещественного числа. Размер объекта умножается наscale.
Примеры
Ниже приведен пример как сделать прозрачными все геометрии водных объектов.
https://static-maps.yandex.ru/v1?lang=ru_RU&ll=28.97709,41.005233&z=15&style=tags.all:water|elements:geometry|stylers.opacity:0&apikey=YOUR_API_KEY
Ниже приведен пример как поменять цвет подписей для всех POI и узлов сети общественного транспорта.
https://static-maps.yandex.ru/v1?lang=ru_RU&ll=28.97709,41.005233&z=15&style=tags.any:poi;transit_location|elements:label.text.fill|stylers.color:DD0000&apikey=YOUR_API_KEY
Ниже приведен пример как поменять цвет всех элементов для всех POI, кварталов и полигонов населенных пунктов, которые не являются парками.
https://static-maps.yandex.ru/v1?lang=ru_RU&ll=28.871673,40.997763&z=17&style=types:polygon|tags.any:admin;urban_area;poi|tags.none:park|stylers.color:f9f7aa&apikey=YOUR_API_KEY
Ниже приведен пример как поменять цвет геометрии для всех дорог при масштабах от 13 до 20, и сделать их более прозрачными при масштабах от 17 до 22.
https://static-maps.yandex.ru/v1?lang=ru_RU&ll=28.871673,40.997763&z=17&style=tags.any:road|elements:geometry|stylers[13-20].color:58e3e2|stylers[17-22].opacity:0.2&apikey=YOUR_API_KEY
Ниже приведен пример как отключить все полигоны, убрать иконки направления на дорогах и поменять яркость и насыщенность для всех POI.
https://static-maps.yandex.ru/v1?lang=ru_RU&ll=28.97709,41.005233&z=12&style=elements:geometry|stylers.hue:0d69f2~elements:label.icon|stylers.hue:0d69f2~elements:label.text.fill|stylers.color:083f91&apikey=YOUR_API_KEY