Документация
Справочник JavaScript API
2.1.64 (текущая версия)
collection
interactivityModel
Интерфейсы

control.TypeSelector

Расширяет control.ListBox.

Элемент управления "Типы карты". В данный элемент управления можно добавлять элементы списка, которые описывают типы карты, а также дополнительные элементы. Ключ элемента управления в хранилище control.storage — "typeSelector".

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

Конструктор

control.TypeSelector([parameters])

Параметры:

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

Тип: String[]|MapType[]|Object

Объект с описаниями параметров элемента управления. Если передан массив, то он трактуется как массив типов карты.

parameters.mapTypes

Тип: String[]|MapType[]

Массив конструкторов типов карты или ключей. Если параметр отсутствует, в элемент будет добавлен стандартный набор типов карты. Список доступных типов карты:

  • 'yandex#map' - тип карты "схема";
  • 'yandex#satellite' - тип карты "спутник";
  • 'yandex#hybrid' - тип карты "гибрид".

parameters.options

Тип: Object

Опции элемента управления.

parameters.options.adjustMapMargin false

Тип: Boolean

Регистрирует ли элемент управления свои размеры в менеджере отступов карты map.margin.Manager.

parameters.options.collapseOnBlur true

Тип: Boolean

Флаг, разрешающий сворачиваение списка при потере фокуса на кнопке. Например при клике на документ.

parameters.options.collapseTimeout 3000

Тип: Number

Временной интервал, по истечении которого раскрытый список автоматически закрывается.

parameters.options.expandOnClick true

Тип: Boolean

Флаг, разрешающий автоматическое разворачивание/сворачивание списка по клику.

parameters.options.float "right"

Тип: String

Сторона, по которой нужно выравнивать элемент управления. Может принимать три значения: "left", "right" или "none". При значении "left" или "right" элементы управления выстраиваются друг за другом, начиная от левого или правого края карты соответственно. При значении "none" элементы управления позиционируется только по значениям опций left, right, bottom, top относительно границ карты. Также смотрите описание опции position.

parameters.options.floatIndex 200

Тип: Number

Приоритет расположения элемента управления. Элемент с максимальным приоритетом находится ближе к указанному в свойстве float краю карты. Не работает при float = "none".

parameters.options.layout

Тип: Function|String

Конструктор макета элемента управления, реализующий интерфейсы ISelectableControlLayout и IGroupControlLayout или ключ макета в хранилище layout.storage. В конструктор макета передается объект, содержащий поля:

  • control - ссылка на элемент управления;
  • options - менеджер опций элемента управления control.ListBox.options;
  • data - менеджер данных элемента управления control.ListBox.data;
  • state - менеджер состояния элемента управления control.ListBox.state.
Макет меняет свой внешний вид на основе данных, состояния и опций элемента управления. Элемент управления, в свою очередь, реагирует на интерфейсные события макета и меняет значения полей control.ListBox.state в зависимости от полученных команд.

parameters.options.maxWidth [30, 65, 85]

Тип: Number|Number[]

Максимальная ширина кнопки списка при различных состояниях. Если задано число, то считается, что кнопка имеет одинаковые максимальные размеры во всех состояниях. Если задан массив, то он будет трактоваться как максимальная ширина кнопки в различных состояниях - от меньшего к большему.

parameters.options.panoramasItemMode 'ifMercator'

Тип: String

Показывает или скрывает элемент "Панорамы". Возможные значения:

  • 'on' — элемент "Панорамы" всегда показывается.
  • 'ifMercator' — элемент "Панорамы" показывается, только если проекция карты является проекцией меркатора.
  • 'off' — элемент "Панорамы" никогда не показывается.
Элемент "Панорамы" доступен только при использовании стандартного макета.

parameters.options.position

Тип: Object

Объект, описывающий позицию элемента управления. При указании опции position значение опции float автоматически трактуется как "none".

parameters.options.position.bottom 'auto'

Тип: Number|String

Положение относительно нижнего края карты.

parameters.options.position.left 'auto'

Тип: Number|String

Положение относительно левого края карты.

parameters.options.position.right 'auto'

Тип: Number|String

Положение относительно правого края карты.

parameters.options.position.top 'auto'

Тип: Number|String

Положение относительно верхнего края карты.

parameters.options.visible true

Тип: Boolean

Признак того, что элемент управления отображается.

parameters.state

Тип: Object

Состояние элемента управления.

parameters.state.expanded false

Тип: Boolean

Признак, развернут ли список.

Пример:

map.controls.add(new ymaps.control.TypeSelector(['yandex#map', 'yandex#hybrid']));

Поля

ИмяТипОписание
data data.Manager

Данные элемента управления.

events IEventManager

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

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

options IOptionManager

Менеджер опций.

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

state data.Manager

Состояние выпадающего списка. Имена полей, доступных через метод data.Manager.get:

  • expanded - признак, раскрыт ли список;
  • size - размер, который в данный момент выставлен списку;

Унаследовано от control.ListBox.

События

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

Произошло добавление дочернего объекта.

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

click

Щелчок по заголовку списка. Экземпляр класса Event.

Унаследовано от control.ListBox.

collapse

Список закрыт. Экземпляр класса Event.

Унаследовано от control.ListBox.

expand

Список открыт. Экземпляр класса Event.

Унаследовано от control.ListBox.

optionschange

Изменение в опциях объекта.

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

parentchange

Сменился родительский объект.

Поля данных:

  • oldParent - старый родитель;
  • newParent - новый родитель.

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

press

Событие, сигнализирующее о том, что кнопка была нажата. В отличии от click генерируется только если состояние isEnabled == true. Экземпляр класса Event.

Унаследовано от control.ListBox.

remove

Произошло удаление дочернего объекта.

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

Методы

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

ICollection

Добавляет в коллекцию дочерний объект.

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

addMapType(mapType[, positionIndex])

control.TypeSelector

Добавляет тип карты в список.

collapse()

control.ListBox

Сворачивает список.

Унаследован от control.ListBox.

expand()

control.ListBox

Раскрывает список.

Унаследован от control.ListBox.

getIterator()

IIterator

Возвращает итератор по коллекции.

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

getMap()

Map

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

getParent()

IControlParent|null

Возвращает ссылку на родительский объект или null, если родительский элемент не был установлен.

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

isExpanded()

Boolean

Возвращает признак того, находится ли контрол в развернутом состоянии.

Унаследован от control.ListBox.

remove(object)

ICollection

Удаляет из коллекции дочерний объект.

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

removeAllMapTypes()

control.TypeSelector

Удаляет все типы карты из элемента управления.

removeMapType(mapType)

control.TypeSelector

Удаляет тип карты.

setParent(parent)

IChildOnMap

Устанавливает родительский объект. Если передать значение null, то элемент управления будет только удален из текущего родительского объекта.

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

Описание полей

data

Данные элемента управления.

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

addMapType

Добавляет тип карты в список.

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

Параметры:

ПараметрЗначение по умолчаниюОписание
mapType *
[no-highlight[

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

]no-highlight]

Тип: String|MapType

Тип карты.

positionIndex

Тип: Integer

Позиция в списке (если не указана, новый тип карты добавляется в конец списка). Список значений positionIndex по умолчанию для стандартных типов карты:

  • 'yandex#map' - 5;
  • 'yandex#satellite' - 10;
  • 'yandex#hybrid' - 15.

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

Примеры:

1.

var typeSelector = new ymaps.control.TypeSelector([]);
typeSelector.addMapType('yandex#map', 1);
typeSelector.addMapType('yandex#hybrid', 0);

2.

// Если используется стандартный набор типов карты, и мы
// хотим добавить свой из хранилища mapType.storage между
// типами «спутник» и «схема».
var typeSelector = myMap.controls.get('typeSelector');
typeSelector.addMapType('my#mapType', 6);

getMap

{Map} getMap()

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

removeAllMapTypes

{control.TypeSelector} removeAllMapTypes()

Удаляет все типы карты из элемента управления.

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

removeMapType

{control.TypeSelector} removeMapType(mapType)

Удаляет тип карты.

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

Параметры:

ПараметрЗначение по умолчаниюОписание
mapType *
[no-highlight[

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

]no-highlight]

Тип: String|MapType

Тип карты.

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