Параметры виджета
Параметры метода 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 фирм, куда был произведён клик. Не может быть пустым. Может иметь больше одного элемента в случае, когда произведён клик в комнату, содержащую несколько фирм.