map.margin.Manager
Расширяет IEventEmitter.
Менеджер отступов карты.
Менеджер для расчета оптимальных отступов от краев контейнера карты.
Менеджер принимает на вход описание прямоугольных областей в экранных координатах, которые обозначают занятые области контейнера карты.
Отступы могут учитываться при установке текущей видимой области карты, чтобы добиться наилучшего отображения данных на карте. Данные на карте никогда не попадут под занятые области контейнера карты. Map#setBound.
Не инстанцируйте экземпляры этого класса без необходимости.
Конструктор | Поля | События | Методы
Конструктор
map.margin.Manager()
Параметры:
Параметр |
Значение по умолчанию |
Описание |
|
— |
Тип: Map |
* Обязательный параметр/опция.
Поля
Имя |
Тип |
Описание |
Менеджер событий. Унаследовано от IEventEmitter. |
События
Имя |
Описание |
Изменение отступов карты. |
Методы
Имя |
Возвращает |
Описание |
Добавление новой прямоугольной области. |
||
destroy() |
Уничтожение менеджера отступов. |
|
Number[] |
Возвращает текущее значение отступов от краёв карты. Значения в массиве идут в следующем порядке: верхний отступ, правый отступ, нижний отступ, левый отступ. |
|
Number[] |
Возвращает разницу (в пикселах) между геометрическим центром карты (без учета отступов) и логическим (с учетом отступов). |
|
Задаёт отступы от краёв карты по умолчанию. |
Описание событий
change
Изменение отступов карты.
Описание методов
addArea
{map.margin.Accessor} addArea(screenArea)
Добавление новой прямоугольной области.
Возвращает объект, который предоставляет доступ к добавленной области. Добавленную прямоугольную область можно удалить только через полученный объект.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Object Прямоугольная область, которая задана в локальных координатах. Область описывается в виде объекта, который содержит информацию о смещении от краев карты (left, top, right, bottom) и размеры области (width, height). Значения могут быть заданы в виде процентов от ширины/высоты контейнера карты. |
* Обязательный параметр/опция.
Примеры:
1.
// Смещение от верхнего левого угла.
map.margin.addArea({
left: 0,
top: 0,
width: 78,
height: 101
});
console.log(map.margin.getMargin()); // [0, 0, 0, 78]
2.
// Смещение от правого нижнего угла.
map.margin.addArea({
right: 50,
bottom: 50,
width: 26,
height: 25
});
console.log(map.margin.getMargin()); // [0, 0, 75, 0]
3.
// Задание смещения в процентах.
map.margin.addArea({
left: 50,
bottom: '1%',
width: 20,
height: 20
});
console.log(map.margin.getMargin()); // [0, 0, 26, 0]
4.
// Задание размеров в процентах.
map.margin.addArea({
left: 0,
top: 50,
width: '100%',
height: 25
});
console.log(map.margin.getMargin()); // [75, 0, 0, 0]
5.
// Установка нескольких областей.
map.margin.addArea({
top: 10,
left: 10,
width: 20,
height: 20
});
map.margin.addArea({
top: 20,
right: 40,
width: 100,
height: 100
});
map.margin.addArea({
bottom: 20,
left: 30,
width: 120,
height: 30
});
console.log(map.margin.getMargin()); // [120, 0, 50, 0]
destroy
{map.margin.Manager} destroy()
Уничтожение менеджера отступов.
Возвращает ссылку на себя.
getMargin
{Number[]} getMargin()
Возвращает текущее значение отступов от краёв карты. Значения в массиве идут в следующем порядке: верхний отступ, правый отступ, нижний отступ, левый отступ.
getOffset
{Number[]} getOffset()
Возвращает разницу (в пикселах) между геометрическим центром карты (без учета отступов) и логическим (с учетом отступов).
setDefaultMargin
{} setDefaultMargin(margin)
Задаёт отступы от краёв карты по умолчанию.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Number|Number[] Значения отступов в виде одного, двух или четырёх чисел (аналогично заданию margin в CSS). |
* Обязательный параметр/опция.
Обязательный параметр.