map.margin.Manager

Расширяет IEventEmitter.

Менеджер отступов карты.

Менеджер для расчета оптимальных отступов от краев контейнера карты.

Менеджер принимает на вход описание прямоугольных областей в экранных координатах, которые обозначают занятые области контейнера карты.

Отступы могут учитываться при установке текущей видимой области карты, чтобы добиться наилучшего отображения данных на карте. Данные на карте никогда не попадут под занятые области контейнера карты. Map#setBound.

Не инстанцируйте экземпляры этого класса без необходимости.

Конструктор | Поля | События | Методы

Конструктор

map.margin.Manager()

Параметры:

Параметр

Значение по умолчанию

Описание

map*

Тип: Map

* Обязательный параметр/опция.

Поля

Имя

Тип

Описание

events

IEventManager

Менеджер событий.

Унаследовано от IEventEmitter.

События

Имя

Описание

change

Изменение отступов карты.

Методы

Имя

Возвращает

Описание

addArea(screenArea)

map.margin.Accessor

Добавление новой прямоугольной области.

destroy()

map.margin.Manager

Уничтожение менеджера отступов.

getMargin()

Number[]

Возвращает текущее значение отступов от краёв карты. Значения в массиве идут в следующем порядке: верхний отступ, правый отступ, нижний отступ, левый отступ.

getOffset()

Number[]

Возвращает разницу (в пикселах) между геометрическим центром карты (без учета отступов) и логическим (с учетом отступов).

setDefaultMargin(margin)

Задаёт отступы от краёв карты по умолчанию.

Описание событий

change

Изменение отступов карты.

Описание методов

addArea

{map.margin.Accessor} addArea(screenArea)

Добавление новой прямоугольной области.

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

Параметры:

Параметр

Значение по умолчанию

Описание

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)

Задаёт отступы от краёв карты по умолчанию.

Параметры:

Параметр

Значение по умолчанию

Описание

margin*

Тип: Number|Number[]

Значения отступов в виде одного, двух или четырёх чисел (аналогично заданию margin в CSS).

* Обязательный параметр/опция.

Предыдущая
Следующая