Параметры виджета
Параметры метода init
Параметр | Обязательный | Описание |
---|
width | да | Ширина виджета. Может быть указана в пикселях или в процентах |
height | да | Высота виджета. Может быть указана в пикселях или в процентах |
container | нет | Элемент, внутри которого создать виджет. Можно передать либо сам элемент, либо его id. Если параметр не указан, виджет будет создан в том месте, где расположен код инициализации (с помощью document.write ). |
initData | да | Данные для инициализации виджета |
Данные для инициализации виджета initData
Параметр | Обязательный | Описание |
---|
complexId | да | id здания, этажи которого необходимо показать |
options | нет | Опции виджета |
Опции виджета
Параметр | Описание | Значение по умолчанию |
---|
locale | Локаль интерфейса виджета. Доступные значения: ru_RU , es_CL или en_US | ru_RU |
initialSearchQuery | Инициализирует виджет с открытой поисковой выдачей по переданному запросу | undefined |
initialRubric | Инициализирует виджет с откры тым списком фирм в рубрике с переданным id | undefined |
initialFirm | Инициализирует виджет с открытой карточкой фирмы с переданным id | undefined |
initialZoom | Определяет уровень масштаба, на котором следует открыть виджет. Если не указан, масштаб выбирается автоматически, чтобы уместить в виджете всё здание. Параметр игнорируется, если указан один из параметров initialSearchQuery или initialRubric | undefined |
initialRotation | Определяет угол поворота карты, на котором следует открыть виджет. Указывается в радианах. Если не указан, угол выбирается автоматически | undefined |
initialFloor | Определяет этаж, на котором следует открыть виджет. Если не указан, виджет открывается на дефолтном этаже здания. | undefined |
rotatable | Определяет, можно ли вращать карту с этажами | true |
minZoom | Определяет минимальный уровень масштаба карты. Если не указан, вычисляется автоматически | undefined |
maxZoom | Определяет максимальный уровень масштаба карты. Если не указан, вычисляется автоматически | undefined |
Методы виджета
Метод DG.FloorsWidget.init
возвращает объект, у которого доступно для вызова три метода.
Метод | Описание |
---|
search(query) | Открывает поисковую выдачу по переданному запросу |
showFirm(firmId) | Открывает карточку фирмы с переданным id |
showRubric(rubricId) | Открывает список фирм в рубрике с переданным id |
zoomIn() | Увеличивает масштаб карты |
zoomOut() | Уменьшает масштаб карты |
showFloor(floor) | Переключает карту на этаж с переданным названием. Принимает строку с названием этажа |
События
Объект виджета генерит события, на которые можно подписываться. Для управления событиями служат методы:
Метод | Описание |
---|
on(type, handler) | Добавляет обработчик handler для события type |
off(type, handler) | Удаляет обработчик handler для события type |
off(type) | Удаляет все обработчики для события type |
off() | Удаляет все обработчики всех событий |
Для подписки доступны следующие события:
Название | Описание | Данные, приходящие в событии |
---|
init | Происходит в момент инита карты | floorList , firmList |
click | Происходит, когда пользователь кликает в фирму (комнату или иконку) на карте | firmIds |
zoomend | Происходит в момент окончания анимации зума | state |
floorswitch | Происходит в момент переключения этажа | state |
Данные событий
floorList
Массив, содержащий названия всех этажей здания в порядке от самого нижнего к самому высокому.
firmList
Массив, содержащий все фирмы в здании. Элемент массива — объект со следующими полями:
Название | Тип | Описание |
---|
id | string | id фирмы |
floor | string | Название этажа, на котором расположена фирма |
state
Объект, содержащий данные о текущем состоянии карты. Имеет следующие поля:
Название | Тип | Описание |
---|
floor | string | Название текущего этажа |
zoom | number | Текущий масштаб карты |
minZoom | number | Минимальный маштаб карты |
maxZoom | number | Максимальный масштаб карты |
firmIds
Массив id фирм, куда был произведён кли к. Не может быть пустым. Может иметь больше одного элемента в случае, когда произведён клик в комнату, содержащую несколько фирм.