control.SearchControl
Расширяет IControl, ICustomizable.
Элемент управления "Поиск по карте". Позволяет обрабатывать поисковый запрос пользователя и отображать результат в панели и на карте. <p>Каждый результат поиска представляется в панели элемента управления в виде двухстрочного блока. Для формирования блока используются поля name и description объекта-результата геокодирования.</p>
Конструктор | Поля | События | Методы
Конструктор
control.SearchControl([options])
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
options | — | Тип: Object Опции. |
options.boundedBy | — | Тип: Number[][] Прямоугольная область на карте, где предположительно находится искомый объект. При ранжировании объекты, находящиеся внутри указанной области, будут получать больший приоритет. |
options.kind | 'house' | Тип: String Вид топонима (только для обратного геокодирования).
Список возможных значений:
|
options.layout | — | Тип: Function|String Макет элемента управления.
В конструктор макета передается объект, содержащий поля:
|
options.noCentering | false | Тип: Boolean false - автоматически располагать центр карты так, чтобы объект был виден целиком. true - не изменять центр карты при показе найденного объекта. |
options.noPlacemark | false | Тип: Boolean false - автоматически добавлять в центр найденного объекта метку с открытым балуном, true - не добавлять. Если указать noCentering = true и noPlacemark = true, то при щелчке по результату поиска никаких видимых изменений на карте не произойдет. |
options.noPopup | false | Тип: Boolean true - не показывать выпадающий список результатов, false - показывать. |
options.position | { top: 5, left: 104 } | Тип: Object Положение элемента управления над картой.
Задается в виде объекта со следующими полями:
|
options.provider | 'yandex#map' | Тип: IGeocodeProvider|String Провайдер геокодирования. Доступный провайдер:
|
options.resultsPerPage | 3 | Тип: Integer Количество результатов поиска на странице. Максимальное значение - 20. |
options.searchCoordOrder | 'latlong' | Тип: String Определяет каким образом нужно интрепретировать координаты в запросе. По умолчанию координаты будут обрабатываться как широта-долгота. |
options.strictBounds | — | Тип: Boolean Искать только внутри области, заданной опцией boundedBy. Объекты вне указанной области попадать в выдачу не будут. |
options.useMapBounds | — | Тип: Boolean Флаг, позволяющий учитывать при поиске границы видимой области карты. При значении true, рассчитанная область видимости имеет больший приоритет, чем заданная через boundedBy. |
options.visible | true | Тип: Boolean Признак того, что элемент управления отображается. |
options.width | 240 | Тип: Integer Ширина элемента (в пикселах). Минимальное значение: 200. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
options | — | Тип: Object Опции. |
options.boundedBy | — | Тип: Number[][] Прямоугольная область на карте, где предположительно находится искомый объект. При ранжировании объекты, находящиеся внутри указанной области, будут получать больший приоритет. |
options.kind | 'house' | Тип: String Вид топонима (только для обратного геокодирования).
Список возможных значений:
|
options.layout | — | Тип: Function|String Макет элемента управления.
В конструктор макета передается объект, содержащий поля:
|
options.noCentering | false | Тип: Boolean false - автоматически располагать центр карты так, чтобы объект был виден целиком. true - не изменять центр карты при показе найденного объекта. |
options.noPlacemark | false | Тип: Boolean false - автоматически добавлять в центр найденного объекта метку с открытым балуном, true - не добавлять. Если указать noCentering = true и noPlacemark = true, то при щелчке по результату поиска никаких видимых изменений на карте не произойдет. |
options.noPopup | false | Тип: Boolean true - не показывать выпадающий список результатов, false - показывать. |
options.position | { top: 5, left: 104 } | Тип: Object Положение элемента управления над картой.
Задается в виде объекта со следующими полями:
|
options.provider | 'yandex#map' | Тип: IGeocodeProvider|String Провайдер геокодирования. Доступный провайдер:
|
options.resultsPerPage | 3 | Тип: Integer Количество результатов поиска на странице. Максимальное значение - 20. |
options.searchCoordOrder | 'latlong' | Тип: String Определяет каким образом нужно интрепретировать координаты в запросе. По умолчанию координаты будут обрабатываться как широта-долгота. |
options.strictBounds | — | Тип: Boolean Искать только внутри области, заданной опцией boundedBy. Объекты вне указанной области попадать в выдачу не будут. |
options.useMapBounds | — | Тип: Boolean Флаг, позволяющий учитывать при поиске границы видимой области карты. При значении true, рассчитанная область видимости имеет больший приоритет, чем заданная через boundedBy. |
options.visible | true | Тип: Boolean Признак того, что элемент управления отображается. |
options.width | 240 | Тип: Integer Ширина элемента (в пикселах). Минимальное значение: 200. |
Пример:
// Пример 1.
// Создаем карту и панель поиска
var map = new ym.Map('map', {
center: [51.700684, 39.23291],
zoom: 4
}),
searchControl = new ym.control.SearchControl({ provider: 'yandex#publicMap' });
// добавляем панель на карту в нужную позицию
map.controls.add(searchControl, { left: '40px', top: '10px' });
Поля
Имя | Тип | Описание |
---|---|---|
events | IEventManager | Менеджер событий. Унаследовано от IEventEmitter. |
options | IOptionManager | Менеджер опций. Унаследовано от ICustomizable. |
state | data.Manager | Состояние элемента управления.
Имена полей, доступных через метод data.Manager.get:
|
Имя | Тип | Описание |
---|---|---|
events | IEventManager | Менеджер событий. Унаследовано от IEventEmitter. |
options | IOptionManager | Менеджер опций. Унаследовано от ICustomizable. |
state | data.Manager | Состояние элемента управления.
Имена полей, доступных через метод data.Manager.get:
|
События
Имя | Описание |
---|---|
close | Событие закрытия поисковой панели. Экземпляр класса Event. |
collapse | Событие схлопывания поисковой панели. Экземпляр класса Event. |
expand | Событие развертывания поисковой панели. Экземпляр класса Event. |
load | Событие получения результатов поиска с сервера. Экземпляр класса Event. |
mapchange | Сменилась карта.
Поля данных:
Унаследовано от IChildOnMap. |
open | Событие открытия поисковой панели. Экземпляр класса Event. |
optionschange | Изменение в опциях объекта. Унаследовано от ICustomizable. |
pagechange | Событие смены страницы с результатами поиска. Экземпляр класса Event. |
parentchange | Сменился родительский объект. Поля данных:
Унаследовано от IChild. |
resultselect | Событие выбора результата поиска.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
|
resultshow | Событие показа выбранного результата поиска. Индекс выбранного результата можно получить через свойство события 'resultIndex'. Экземпляр класса Event. |
submit | Событие отправления поискового запроса на сервер. Экземпляр класса Event. |
Имя | Описание |
---|---|
close | Событие закрытия поисковой панели. Экземпляр класса Event. |
collapse | Событие схлопывания поисковой панели. Экземпляр класса Event. |
expand | Событие развертывания поисковой панели. Экземпляр класса Event. |
load | Событие получения результатов поиска с сервера. Экземпляр класса Event. |
mapchange | Сменилась карта.
Поля данных:
Унаследовано от IChildOnMap. |
open | Событие открытия поисковой панели. Экземпляр класса Event. |
optionschange | Изменение в опциях объекта. Унаследовано от ICustomizable. |
pagechange | Событие смены страницы с результатами поиска. Экземпляр класса Event. |
parentchange | Сменился родительский объект. Поля данных:
Унаследовано от IChild. |
resultselect | Событие выбора результата поиска.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
|
resultshow | Событие показа выбранного результата поиска. Индекс выбранного результата можно получить через свойство события 'resultIndex'. Экземпляр класса Event. |
submit | Событие отправления поискового запроса на сервер. Экземпляр класса Event. |
Методы
Имя | Возвращает | Описание |
---|---|---|
close() | Закрывает панель с результатами поиска. | |
collapse() | Сворачивает панель с результатами поиска. | |
expand() | Разворачивает панель с результатами поиска. | |
getCurrentPage() | Integer | Returns индекс текущий страницы с результатами запроса. Индексы начинаются с 0. |
getPageCount() | Integer | Возвращает количество страниц результатов текущего поискового запроса. |
getParent() | Returns ссылку на родительский объект. Унаследован от IControl. | |
getRequestString() | String | Возвращает строку, содержащую текущий поисковый запрос. |
getResult(index) | Предоставляет доступ к результату по заданному индексу. Это асинхронный метод. Если результат с заданным индексом еще не загружен, то он загрузится. | |
getResultCount() | Integer | Возвращает количество результатов текущего поискового запроса. |
getSelectedIndex() | Integer | Returns индекс текущего выбранного элемента. |
getSuggestString() | String | Возвращает строку, содержащую исправленный поисковый запрос, если была допущена опечатка. |
isExpanded() | Boolean | Возвращает true, если панель с результатами поиска развернута, false - в противном случае. |
isOpen() | Boolean | Возвращает true, если панель с результатами поиска открыта, false - в противном случае. |
open() | Открывает панель с результатами поиска. | |
search(request) | Осуществляет поиск. | |
setParent(parent) | Устанавливает родительский объект. Унаследован от IControl. | |
showPage(page) | Показывает страницу с результатами запроса по заданному индексу. Индексы страниц начинаются с 0. | |
showResult(index) | Отображает результат с заданным индексом. |
Имя | Возвращает | Описание |
---|---|---|
close() | Закрывает панель с результатами поиска. | |
collapse() | Сворачивает панель с результатами поиска. | |
expand() | Разворачивает панель с результатами поиска. | |
getCurrentPage() | Integer | Returns индекс текущий страницы с результатами запроса. Индексы начинаются с 0. |
getPageCount() | Integer | Возвращает количество страниц результатов текущего поискового запроса. |
getParent() | Returns ссылку на родительский объект. Унаследован от IControl. | |
getRequestString() | String | Возвращает строку, содержащую текущий поисковый запрос. |
getResult(index) | Предоставляет доступ к результату по заданному индексу. Это асинхронный метод. Если результат с заданным индексом еще не загружен, то он загрузится. | |
getResultCount() | Integer | Возвращает количество результатов текущего поискового запроса. |
getSelectedIndex() | Integer | Returns индекс текущего выбранного элемента. |
getSuggestString() | String | Возвращает строку, содержащую исправленный поисковый запрос, если была допущена опечатка. |
isExpanded() | Boolean | Возвращает true, если панель с результатами поиска развернута, false - в противном случае. |
isOpen() | Boolean | Возвращает true, если панель с результатами поиска открыта, false - в противном случае. |
open() | Открывает панель с результатами поиска. | |
search(request) | Осуществляет поиск. | |
setParent(parent) | Устанавливает родительский объект. Унаследован от IControl. | |
showPage(page) | Показывает страницу с результатами запроса по заданному индексу. Индексы страниц начинаются с 0. | |
showResult(index) | Отображает результат с заданным индексом. |
Описание полей
state
{data.Manager} state
- results - массив, содержащий результаты поиска;
- currentIndex - индекс текущего выбранного элемента;
- pageNumber - текущая страница выдачи результатов;
- found - общее количество найденных результатов;
- request - текущий активный запрос;
- suggest - исправленный запрос;
- expanded - признак, свернут или развернут элемент управления;
- opened - признак, показана ли панель выдачи результата.
Описание событий
close
Событие закрытия поисковой панели. Экземпляр класса Event.
collapse
Событие схлопывания поисковой панели. Экземпляр класса Event.
expand
Событие развертывания поисковой панели. Экземпляр класса Event.
load
Событие получения результатов поиска с сервера. Экземпляр класса Event.
open
Событие открытия поисковой панели. Экземпляр класса Event.
pagechange
Событие смены страницы с результатами поиска. Экземпляр класса Event.
resultselect
- resultIndex - индекс выбранного результата.
resultshow
Событие показа выбранного результата поиска. Индекс выбранного результата можно получить через свойство события 'resultIndex'. Экземпляр класса Event.
submit
Событие отправления поискового запроса на сервер. Экземпляр класса Event.
Описание методов
close
{control.SearchControl} close()
Закрывает панель с результатами поиска.
Returns ссылку на себя.
collapse
{control.SearchControl} collapse()
Сворачивает панель с результатами поиска.
Returns ссылку на себя.
expand
{control.SearchControl} expand()
Разворачивает панель с результатами поиска.
Returns ссылку на себя.
getCurrentPage
{Integer} getCurrentPage()
Returns индекс текущий страницы с результатами запроса. Индексы начинаются с 0.
getPageCount
{Integer} getPageCount()
Возвращает количество страниц результатов текущего поискового запроса.
Returns количество страниц.
getRequestString
{String} getRequestString()
Возвращает строку, содержащую текущий поисковый запрос.
Returns строка, содержащая текущий поисковый запрос.
getResult
{util.Promise} getResult(index)
Предоставляет доступ к результату по заданному индексу. Это асинхронный метод. Если результат с заданным индексом еще не загружен, то он загрузится.
Returns возвращает объект типа util.Promise.
Параметры:
* Обязательный параметр/опция.
Пример:
searchControl.getResult(5).then(function (result) {
alert(result.properties.get('name'));
});
getResultCount
{Integer} getResultCount()
Возвращает количество результатов текущего поискового запроса.
Returns количество результатов.
getSelectedIndex
{Integer} getSelectedIndex()
Returns индекс текущего выбранного элемента.
getSuggestString
{String} getSuggestString()
Возвращает строку, содержащую исправленный поисковый запрос, если была допущена опечатка.
Returns строка, содержащая исправленный поисковый запрос.
isExpanded
{Boolean} isExpanded()
Возвращает true, если панель с результатами поиска развернута, false - в противном случае.
Returns true если панель развернута.
isOpen
{Boolean} isOpen()
Возвращает true, если панель с результатами поиска открыта, false - в противном случае.
Returns true если панель развернута.
open
{control.SearchControl} open()
Открывает панель с результатами поиска.
Returns ссылку на себя.
search
{util.Promise} search(request)
Осуществляет поиск.
Returns возвращает объект типа util.Promise.
Параметры:
* Обязательный параметр/опция.
Пример:
searchControl.search('Москва').then(function (geoObjectsArr) {
// geoObjectsArr - это массив геообъектов, содержащий результаты запроса.
// выводит свойство name первого геообъекта из результатов запроса
alert(geoObjectsArr[0].properties.get('name'));
});
showPage
{util.Promise} showPage(page)
Показывает страницу с результатами запроса по заданному индексу. Индексы страниц начинаются с 0.
Returns возвращает объект типа util.Promise.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
page * | — | Тип: Integer Индекс страницы, которую нужно показать. |
* Обязательный параметр/опция.
Пример:
searchControl.showPage(1).then(
function (pageIndex) { alert('Показана страница ' + pageIndex); }
);
showResult
{util.Promise} showResult(index)
Отображает результат с заданным индексом.
Returns возвращает объект типа util.Promise.
Параметры:
* Обязательный параметр/опция.