Клуб API Карт

Маска поверх карты

konclave
14 июня 2012, 11:31

А возможно ли положить поверх карты маску, которая будет ограничивать активную область? Например, сделать активную область круглой, а на остальную часть карты положить непрозрачный оверлей? Ну то есть примерно так:

13 комментариев
Подписаться на комментарии к посту

Сделать то можно,

но так как это закрывает логотип Яндекса и копирайты - нельзя.

Но если очень хочется можно такую маску наложить отдельно на слой тайлов и других оверлеев.

 

А логотип яндекса и копирайты нельзя двигать, как остальные контролы? 

А наложить на слой тайлов и других оверлеев это так же как сделано в том примере по ссылке (я еще не успел вкурить как там это реализовано - быстро разобраться не получилось, медленно еще не успел) 

Вот тут тоже есть пример. Логотип и копирайты на месте. http://www.intecmedia.ru/contacts

Хм. Интересный вариант. Они клонируют элементы с логотипом и копирайтом и вставляют их туда, где будет видно.

Да, но тут тоже не совсем соблюдаются условия ПС. Копирайты долны меняться при перемещении карты в зависимости от региона.

Ну то есть при подобной реализации еще нужно отслеживать, изменения оригинальных элементов и если они поменялись, тогда клонировать их еще раз и в этом случае ПС будет соблюдено полностью?

Вообще говоря, нет.
Встройте динамически кусок своей вёрстки в map.panes.get('events').getElement(), и не придётся ничего дублировать/отслеживать.

Опять же получается немного не то, потому что слой events ниже чем слой точек на карте и получается что маркер едет над слоем событий.

 

А почему нельзя выдернуть логотип и копирайт и поместить их в область где их будет видно? Чему это противоречит?

Это же лучше чем оставить на  половину видный логотип и копирайт?

Логотип и копирайты должны быть видны, это точно. И должно быть понятно, что они относятся к карте. При этом над каждым регионом должен быть именно копирайт того поставщика, который для данного региона предоставляет данные. Если вы знаете, как соблюсти все условия, все хорошо :-)

Просто положите свой прозрачный background элементу .ymaps-event-container

У меня в карте нет элемента с таким классом. 

Есть .ymaps-events-pane, но для него background-image задается при загрузке карты через атрибут style