control.TypeSelector
Расширяет control.ListBox.
Элемент управления "Типы карты". В данный элемент управления можно добавлять элементы списка, которые описывают типы карты, а также дополнительные элементы. Элементы, описывающие типы карты, объединены в группу control.Group. Группа по умолчанию добавлена первым элементом. Доступ к этой группе можно получить через метод getMapTypeItemsGroup.
Конструктор
control.TypeSelector([params[, options[, fixTitle]]])
Параметры:
Параметр |
Значение по умолчанию |
Описание |
|
— |
Тип: String[]|MapType[]|Object Объект с описаниями параметров элемента управления. Если передан массив, то он трактуется как массив типов карты. |
|
— |
Тип: String Заголовок списка. |
|
— |
Тип: String[]|MapType[] Массив конструкторов типов карты или ключей. Список доступных типов карты: • 'yandex#satellite' - тип карты "спутник"; • 'yandex#hybrid' - тип карты "гибрид". |
|
— |
Тип: Object Данные списка. |
|
— |
Тип: Object Опции элемента управления. |
|
{ top: 5, right: 5 } |
Тип: Object Положение элемента управления над картой. Задается в виде объекта со следующими полями: • right - отступ от правого края контейнера карты в пикселах; • bottom - отступ от нижнего края контейнера карты в пикселах; • left - отступ от левого края контейнера карты в пикселах. Если при этом заданы одновременно и top, и bottom, то значение bottom игнорируется. Аналогично, если заданы одновременно и left, и right, то значение right игнорируется. Если элемент управления добавляется в группу элементов (например, в тулбар или раскрывающийся список), то значение position не применяется. |
|
true |
Тип: Boolean Признак того, что элемент управления отображается. |
|
false |
Тип: Boolean Флаг, отвечающий за поведение заголовка элемента управления. • false - заголовок элемента управления изменяется в соответствии с выбранным типом карты. Если тип карты не выбран, будет отображаться значение, заданное в params.data.title. |
Пример:
map.controls.add(new ymaps.control.TypeSelector(['yandex#map', 'yandex#hybrid']));
Поля
Имя |
Тип |
Описание |
Данные элемента управления. Имена полей, доступных через метод data.Manager.get: |
||
Менеджер событий. Унаследовано от IEventEmitter. |
||
Менеджер опций. Унаследовано от ICustomizable. |
||
Состояние выпадающего списка. Имена полей, доступных через метод data.Manager.get: Унаследовано от control.ListBox. |
События
Имя |
Описание |
Произошло добавление дочернего объекта. Унаследовано от ICollection. |
|
Изменение дом-элемента, в который добавляются дочерние элементы группы. Экземпляр класса Event. Имена полей, доступных через метод Event.get: • newChildContainerElement - новый дом-элемент для дочерних элементов; • oldChildContainerElement - старый элемент для дочерних элементов. Унаследовано от control.Group. |
|
Щелчок по заголовку списка. Экземпляр класса Event. Унаследовано от control.ListBox. |
|
Список закрыт. Экземпляр класса Event. Унаследовано от control.ListBox. |
|
Список открыт. Экземпляр класса Event. Унаследовано от control.ListBox. |
|
Сменилась карта. Поля данных: • newMap - новая карта. Унаследовано от IParentOnMap. |
|
Изменение в опциях объекта. Унаследовано от ICustomizable. |
|
Сменился родительский объект. Поля данных: • oldParent - старый родитель; • newParent - новый родитель. Унаследовано от IChild. |
|
Произошло удаление дочернего объекта. Унаследовано от ICollection. |
Методы
Имя |
Возвращает |
Описание |
add(item[, positionIndex]) |
Добавляет элемент управления в группу. Элемент можно добавлять, Возожные значения ключей: • "mapTools" - стандартный тулбар с кнопками "Навигация", "Выделение" и "Линейка" control.MapTools; • "miniMap" - обзорная карта control.MiniMap; • "scaleLine" - масштабный отрезок control.ScaleLine; • "searchControl" - панель поиска control.SearchControl; • "trafficControl" - панель пробок control.TrafficControl; • "typeSelector" - панель переключения типа карты control.TypeSelector; • "zoomControl" - ползунок масштаба control.ZoomControl; • "smallZoomControl" - простой ползунок масштаба control.SmallZoomControl. Унаследован от control.Group. |
|
TypeSelector |
Добавляет тип карты в список. |
|
collapse() |
Сворачивает список. Унаследован от control.ListBox. |
|
Перебирает все элементы коллекции, вызывая для каждого функцию-обработчик. Унаследован от control.Group. |
||
expand() |
Раскрывает список. Унаследован от control.ListBox. |
|
Функция для выборки дочерних элементов по условию. Унаследован от control.Group. |
||
get() |
Returns ссылку на объект контрола, добавленного по ключу или по индексу. Унаследован от control.Group. |
|
getAll() |
Returns массив дочерних элементов контрола. Унаследован от control.Group. |
|
HTMLElement |
Возвращает для своего дочернего объекта HTML-элемент, в котором он должен размещаться. Унаследован от IControlParent. |
|
HTMLElement |
Returns контейнер, в который добавляются дочерние элементы контрола. Унаследован от control.Group. |
|
Returns итератор по коллекции. Унаследован от ICollection. |
||
Number |
Returns количество дочерних элементов. Унаследован от control.Group. |
|
getMap() |
Returns ссылку на карту. Унаследован от IParentOnMap. |
|
Returns группу, которая содержит элементы списка, описывающие типы карты. |
||
Returns ссылку на родительский объект. Унаследован от IControl. |
||
Integer |
Returns индекс дочернего элемента в группе. Унаследован от control.Group. |
|
Boolean |
Returns признак того, находится ли контрол в развернутом состоянии. Унаследован от control.ListBox. |
|
Удаляет элемент управления из группы. Унаследован от control.Group. |
||
Удаляет все дочерние элементы из группы. Унаследован от control.Group. |
||
TypeSelector |
Удаляет все типы карты из элемента управления. |
|
TypeSelector |
Удаляет тип карты. |
|
Устанавливает ширину списка. Унаследован от control.ListBox. |
||
Устанавливает родительский объект. Унаследован от IControl. |
||
Задает новый заголовок раскрывающегося списка. Унаследован от control.ListBox. |
Описание полей
data
{data.Manager} data
Данные элемента управления. Имена полей, доступных через метод data.Manager.get:
• title - заголовок выпадающего списка.
Пример:
// Добавим на карту выпадающий список и будем менять его заголовок
// в зависимости от того, свернут список или развернут.
var typeSelector = new ymaps.control.TypeSelector();
// Зададим опцию, запрещающую менять заголовок списка.
typeSelector.options.set('fixTitle', true);
// Создадим группу слушателей событий.
var typeSelectorListener = typeSelector.events.group()
.add('expand', function () {
typeSelector.data.set('title', 'Список развернут');
})
.add('collapse', function () {
typeSelector.data.set('title', 'Список свернут');
});
map.controls.add(typeSelector, {top: 10, left: 10});
// ...
map.controls.remove(typeSelector);
// После удаления элемента с карты удалим слушателей.
typeSelectorListener.removeAll();
Описание методов
addMapType
{TypeSelector} addMapType(mapType[, position])
Добавляет тип карты в список.
Returns ссылку на себя.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
|
— |
Тип: String|MapType Тип карты. |
|
— |
Тип: Integer Позиция в списке (если не указана, новый тип карты добавляется в конец списка). |
* Обязательный параметр/опция.
Пример:
var typeSelector = new ymaps.control.TypeSelector();
typeSelector.addMapType('yandex#map', 1);
typeSelector.addMapType('yandex#hybrid', 0);
getMapTypeItemsGroup
{control.Group} getMapTypeItemsGroup()
Returns группу, которая содержит элементы списка, описывающие типы карты.
removeAllMapTypes
{TypeSelector} removeAllMapTypes()
Удаляет все типы карты из элемента управления.
Returns ссылку на себя.
removeMapType
{TypeSelector} removeMapType()
Удаляет тип карты.
Returns ссылку на себя.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
|
— |
Тип: String|MapType |
* Обязательный параметр/опция.
Обязательный параметр/опция.