panorama.Player

Расширяет IEventEmitter.

Класс для создания и управления плеером панорам.

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

Конструктор

panorama.Player(element, panorama[, options])

Создает экземпляр плеера панорам.

Параметры:

ПараметрЗначение по умолчаниюОписание
element *

Тип: HTMLElement|String

Ссылка на HTML-элемент, в котором будет размещен плеер, или идентификатор этого HTML-элемента.

panorama *

Тип: IPanorama

Панорама, которая будет открыта в созданном плеере.

options

Тип: Object

Опции.

options.autoFitToViewport"always"

Тип: String

Опция, позволяющая отключить автоматическое слежение за размером контейнера плеера. По умолчанию плеер всегда следит за размером своего контейнера, перестраивая изображение, если они изменились. Доступные значения:
  • none – не отслеживать изменения размеров контейнера.
  • ifNull – как только контейнер получит CSS значение 'display', отличное от «none», плеер автоматически подстроит свои размеры под это значение. После отслеживание будет остановлено.
  • always – всегда отслеживать изменения размеров контейнера.
options.controls

Тип: String[]

Набор контролов плеера. Доступные контролы:
  • closeControl – кнопка для закрытия плеера.
  • fullscreenControl – кнопка перевода плеера в полноэкранный режим.
  • panoramaName – название панорамы (автоматически скрывается в плеере маленького размера).
  • zoomControl – кнопки для управления масштабом панорамы.
Набор контролов по умолчанию включает в себя все вышеперечисленные.
options.direction'auto'

Тип: Number[]|String

Направление взгляда в формате [bearing, pitch], где bearing – азимут направления в градусах, pitch – угол подъема над линией горизонта в градусах. Специальное строковое значение auto означает, что после открытия панорамы будет применено направление, указанное в метаданных панорамы.

options.hotkeysEnabledfalse

Тип: Boolean

Опция, включающая управление плеером с клавиатуры. Обратите внимание, что при включении плеер начинает перехватывать нажатия некоторых клавиш (например, курсорных), отменяя при это реакцию браузера по умолчанию, что может мешать пользователю взаимодействовать с вашей страницей. Поэтому по умолчанию управление с клавиатуры выключено.

options.scrollZoomBehaviortrue

Тип: Boolean

Опция, позволяющая отключить масштабирование панорамы колесом мыши. По умолчаню включено, и плеер перехватывает события колеса мыши.

options.span'auto'

Тип: Number[]|String

Угловые размеры поля обзора в формате [horizontalSpan, verticalSpan], где horizontalSpan — горизонтальный размер поля, verticalSpan — вертикальный.

options.suppressMapOpenBlockfalse

Тип: Boolean

Нужно ли скрывать предложение открыть текущую панораму в Яндекс.Картах, максимально сохранив всю имеющуюся информацию о ней. true — скрывать, false — не скрывать. Ссылка на Яндекс.Карты отображается в левом верхнем углу плеера.

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

Поля

ИмяТипОписание
eventsIEventManager

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

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

События

ИмяОписание
destroy

Плеер закрыт пользователем или уничтожен с помощью метода panorama.Player.destroy.

directionchange

Сменилось направление взгляда.

error

В процессе работы плеера возникла ошибка. При этом пользователю будет показан соответствующий экран.

fullscreenenter

Плеер перешел в полноэкранный режим.

fullscreenexit

Плеер вышел из полноэкранного режима.

markercollapse
Пользователь кликнул по раскрытому маркеру. Имена полей, доступных через метод Event.get:
  • marker – маркер, который был свернут.
markerexpand
Пользователь кликнул по свернутому маркеру. Имена полей, доступных через метод Event.get:
  • marker – маркер, который был развернут.
markermouseenter
На маркер наведен указатель мыши. Имена полей, доступных через метод Event.get:
  • marker – маркер, на который был наведен указатель мыши.
markermouseleave
Пользователь сместил указатель мыши за пределы маркера. Имена полей, доступных через метод Event.get:
  • marker – маркер, с которого был убран указатель мыши.
panoramachange

Сменилась открытая панорама (например, в результате вызова функции panorama.Player.setPanorama или пользовательского действия).

spanchange

Сменился размер поля обзора.

Методы

ИмяВозвращаетОписание
destroy()

Уничтожает плеер.

fitToViewport()

Проверяет размер контейра плеера и, если он изменился с последней проверки, перестраивает изображение.

getDirection()

Number[]

Возвращает текущее направление обзора в формате [bearing, pitch], где bearing — азимут направления в градусах, pitch — угол подъема над линией горизонта в градусах.

getPanorama()

IPanorama

Возвращает панораму, которая открыта в плеере на данный момент.

getSpan()

Number[]

Возвращает текущие угловые размеры поля обзора в формате [horizontalSpan, verticalSpan], где horizontalSpan — горизонтальный размер поля в градусах, verticalSpan — вертикальный размер в градусах.

lookAt(point)

panorama.Player

Поворачивает обзор так, чтобы в центре поля зрения оказалась переданная точка.

moveTo(point[, options])

vow.Promise

Ищет панорамy по заданным параметрам и открывает ее.

setDirection(direction)

panorama.Player

Устанавливает новое направление обзора.

setPanorama(panorama)

panorama.Player

Открывает в плеере переданную панораму.

setSpan(span)

panorama.Player

Устанавливает новые размеры поля обзора.

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

destroy

Плеер закрыт пользователем или уничтожен с помощью метода panorama.Player.destroy.

directionchange

Сменилось направление взгляда.

error

В процессе работы плеера возникла ошибка. При этом пользователю будет показан соответствующий экран.

fullscreenenter

Плеер перешел в полноэкранный режим.

fullscreenexit

Плеер вышел из полноэкранного режима.

markercollapse

Пользователь кликнул по раскрытому маркеру. Имена полей, доступных через метод Event.get:
  • marker – маркер, который был свернут.

markerexpand

Пользователь кликнул по свернутому маркеру. Имена полей, доступных через метод Event.get:
  • marker – маркер, который был развернут.

markermouseenter

На маркер наведен указатель мыши. Имена полей, доступных через метод Event.get:
  • marker – маркер, на который был наведен указатель мыши.

markermouseleave

Пользователь сместил указатель мыши за пределы маркера. Имена полей, доступных через метод Event.get:
  • marker – маркер, с которого был убран указатель мыши.

panoramachange

Сменилась открытая панорама (например, в результате вызова функции panorama.Player.setPanorama или пользовательского действия).

spanchange

Сменился размер поля обзора.

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

destroy

{} destroy()

Уничтожает плеер.

fitToViewport

{} fitToViewport()

Проверяет размер контейра плеера и, если он изменился с последней проверки, перестраивает изображение.

getDirection

{Number[]} getDirection()

Возвращает текущее направление обзора в формате [bearing, pitch], где bearing — азимут направления в градусах, pitch — угол подъема над линией горизонта в градусах.

getPanorama

{IPanorama} getPanorama()

Возвращает открытую панораму в плеере.

getSpan

{Number[]} getSpan()

Возвращает текущие угловые размеры поля обзора в формате [horizontalSpan, verticalSpan], где horizontalSpan — горизонтальный размер поля в градусах, verticalSpan — вертикальный размер в градусах.

lookAt

Поворачивает обзор так, чтобы в центре поля зрения оказалась переданная точка.

Возвращает ссылку на себя.

Параметры:

ПараметрЗначение по умолчаниюОписание
point *

Тип: Number[]

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

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

moveTo

Ищет панорамy по заданным параметрам и открывает ее.

Возвращает объект-обещание, который будет разрешен, если панорама найдена и успешно открыта в плеере, или отклонен с описанием ошибки в ином случае.

Параметры:

ПараметрЗначение по умолчаниюОписание
point *

Тип: Number[]

Точка, около которой будет произведен поиск панорамы.

options

Тип: Object

Опции.

options.direction'auto'

Тип: Number[]|String

Направление взгляда в формате [bearing, pitch], где bearing – азимут направления в градусах, pitch – угол подъема над линией горизонта в градусах. Специальное строковое значение auto означает, что после открытия панорамы будет применено направление, указанное в метаданных панорамы.

options.layer'yandex#panorama'

Тип: String

Слой, в котором будет произведен поиск панорамы. Доступны два слоя:
  • 'yandex#panorama' – панорамы на земле;
  • 'yandex#airPanorama' – воздушные панорамы.
options.span'auto'

Тип: Number[]|String

Угловые размеры поля обзора в формате [horizontalSpan, verticalSpan], где horizontalSpan – горизонтальный размер поля, verticalSpan – вертикальный.

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

setDirection

{panorama.Player} setDirection(direction)

Устанавливает новое направление обзора.

Возвращает ссылку на себя.

Параметры:

ПараметрЗначение по умолчаниюОписание
direction *

Тип: Number[]|String

Направление взгляда в формате [bearing, pitch], где bearing – азимут направления в градусах, pitch – угол подъема над линией горизонта в градусах. Специальное строковое значение auto означает, что после открытия панорамы будет применено направление, указанное в метаданных панорамы.

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

setPanorama

{panorama.Player} setPanorama(panorama)

Открывает в плеере переданную панораму.

Возвращает ссылку на себя.

Параметры:

ПараметрЗначение по умолчаниюОписание
panorama *

Тип: IPanorama

Панорама.

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

setSpan

Устанавливает новые размеры поля обзора.

Возвращает ссылку на себя.

Параметры:

ПараметрЗначение по умолчаниюОписание
span *

Тип: Number[]|String

Угловые размеры поля обзора в формате [horizontalSpan, verticalSpan], где horizontalSpan — горизонтальный размер поля, verticalSpan — вертикальный.

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