Created
April 16, 2021 03:19
-
-
Save lagner/53d0a5752d594c3271df1f5966de2a21 to your computer and use it in GitHub Desktop.
work with directory suggest
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
val asyncResult = searchManager.suggest(query).wait() | |
val suggests = asyncResult.suggests | |
// тут мы получили коллекцию саджестов | |
// и должы показать список этих подсказок пользователю | |
suggests.forEach { suggest -> | |
suggest.title // это то что должно быть в основном тексте подсказки | |
suggest.subtitle // это вторая строка саджеста(она обычно менее яркая и шрифт меньше) | |
// после того как элемент есть есть в интерфесе ему надо закинуть onClick обработчик | |
// эта штука как раз делается через handler | |
// onClick: | |
suggest.handler.match( | |
{ objectHandler -> | |
val item = objectHandler?.item ?: return@match | |
// в этом месте мы поняли что за объект пользователь выбрал | |
// в этой ситуации в 2GIS открывается карточка конкретного объекта | |
item.title // имя | |
item.address // | |
item.markerPosition // точка на карте куда перелететь и поставить маркер | |
}, | |
{ searchHandler -> | |
val query = searchHandler?.searchQuery ?: return@match | |
// это какой-то поиск надо запустить | |
searchManager.search(query) | |
// и показать список результатов этого поиска | |
}, | |
{ incompleteText -> | |
val text = incompleteText?.queryText ?: return@match | |
// в этом случае пользователь может "дополнить" запрос | |
// но еще ожидается что запрос нужно дописать | |
// нужно поставить text в строку поиска и ждать дальше ввода | |
} | |
) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment