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