Клуб API Карт

Прозрачность пользовательского тайлового слоя

nommyde
16 октября 2015, 10:54

Не нашел в документации возможность задать прозрачность тайлового слоя. Странно, что изменение яркости предусмотрели (которое, на мой взгляд, менее полезно), а прозрачности - нет.

Возможно, я что-то не доглядел, или есть недокументированная возможность?

4 комментария
Эти опции не меняют ни яркость, ни прозрачность — они как раз для того, чтобы разработчик мог сообщить API яркость и прозрачность отрендеренного им слоя.
Может кому-то пригодится. Есть не очень красивый и правильный, но эффективный способ.
Пример:
$("#mymap canvas:eq(1)").fadeto("slow",0.3);
тут мы выбираем элемент на котором рисуется карта и делаем его прозрачным.
здесь #mymap - идентификатор карты (родительского блока), eq(1) - номер  слоя карты, начиная с 0, "slow" - медленный, плавный переход, 0.3 - 30% непрозрачности.


К сожалению, fadeto не работает в IE < 9. Для него надо отдельно писать (хотя эти браузеры давно не поддерживаются).
Обновлено 15 сентября, 01:27
Лучше использовать селектор
#mymap ymaps-2-1-55-ground-pane>ymaps:eq(1) 
Он более универсален и работает во всех браузерах. Правда, придется подключить фиксированную версию API.
<script src="https://api-maps.yandex.ru/2.1.55/?lang=ru_RU" type="text/javascript"/>



Соответственно, цифры в селекторе и ссылке заменить на нужную версию.
Обновлено 14 октября, 15:10
#mymap .ymaps-2-1-55-ground-pane>ymaps:eq(1)


точку пропустил
Обновлено 14 октября, 15:35