Тип QML PlaceSearchSuggestionModel
Предоставляет доступ к предложениям по поисковым запросам. Подробнее...
| Заявление импорта: | import QtLocation 5.15 |
| С момента: | QtLocation 5.5 |
Свойства
- limit : int
- offset : int
- plugin : Плагин
- searchArea : геоформа
- searchTerm : строка
- status : перечисление
- suggestions : список строк
Методы
- void cancel()
- строка errorString()
- void reset()
- void update()
Подробное описание
PlaceSearchSuggestionModel может использоваться для предоставления предложений по поисковым запросам по мере ввода пользователем своего поискового запроса. Свойства этой модели должны соответствовать свойствам PlaceSearchModel, которые будут использоваться для выполнения фактического поискового запроса, чтобы убедиться, что результаты предложений по поиску релевантны.
Существует два способа доступа к данным, предоставляемым этой моделью: либо через свойство suggestions, либо через представления и делегаты. Последний метод предпочтительнее.
Свойства offset и limit могут использоваться для доступа к страницам предложений. Когда свойства offset и limit установлены, будут возвращены предложения между offset и (offset + limit - 1). Поддержка постраничного отображения может отличаться в зависимости от плагина.
Модель возвращает данные для следующих ролей:
| Роль | Тип | Описание |
|---|---|---|
| suggestion | строка | Предлагаемый поисковый запрос. |
Следующий пример показывает, как использовать PlaceSearchSuggestionModel для получения предложенных поисковых запросов из частичного поискового запроса. searchArea устанавливается таким образом, чтобы соответствовать тому, что будет использоваться для выполнения фактического поиска мест с PlaceSearchModel.
import QtQuick 2.0
import QtPositioning 5.5
import QtLocation 5.6
PlaceSearchSuggestionModel {
id: suggestionModel
plugin: myPlugin
// Brisbane
searchArea: QtPositioning.circle(QtPositioning.coordinate(-27.46778, 153.02778))
onSearchTermChanged: update()
}
ListView {
model: suggestionModel
delegate: Text { text: suggestion }
}
См. также PlaceSearchModel и QPlaceManager.
Документация по свойствам
limit : int
Это свойство хранит предел числа элементов, которые будут возвращены.
См. также offset.
offset : int
Это свойство хранит индекс первого элемента в модели.
См. также limit.
plugin : Плагин
Это свойство хранит поставщик плагин, который будет использоваться для выполнения поиска.
searchArea : геоформа
Это свойство хранит область поиска. Результаты предложений по поиску, возвращаемые моделью, будут релевантны заданной области поиска.
Если это свойство установлено в геокруг, его свойство radius может быть оставлено неопределенным, в этом случае плагин выберет подходящий радиус для поиска.
searchTerm : строка
Это свойство хранит частичный поисковый запрос, используемый в запросе.
status : перечисление
Это свойство хранит состояние модели. Оно может быть одним из:
| PlaceSearchSuggestionModel.Null | Поисковый запрос не был выполнен. Модель пуста. |
| PlaceSearchSuggestionModel.Ready | Поисковый запрос завершен, и результаты доступны. |
| PlaceSearchSuggestionModel.Loading | В настоящее время выполняется поисковый запрос. |
| PlaceSearchSuggestionModel.Error | При выполнении предыдущего поискового запроса произошла ошибка. |
suggestions : список строк
Это свойство хранит список предсказанных поисковых запросов, которые в настоящее время имеет модель.
Документация по методам
void cancel()
Немедленно отменяет текущую операцию по предложению поиска и устанавливает состояние модели в PlaceSearchSuggestionModel.Ready. Модель сохраняет все предложения по поиску, которые у нее были до начала операции.
Если операция не выполняется, вызов cancel() не оказывает никакого влияния.
строка errorString()
Это свойство только для чтения хранит текстовое представление последней ошибки модели предложений по поиску. Если ошибка не произошла или модель была очищена, возвращается пустая строка.
Пустая строка также может быть возвращена, если произошла ошибка, у которой нет связанного текстового представления.
void reset()
Сбрасывает модель. Все предложения по поиску очищаются, все ожидающие запросы прерываются, и возможные ошибки очищаются. Состояние модели будет установлено в PlaceSearchSuggestionModel.Null.
void update()
Обновляет модель на основе предоставленных параметров запроса. Модель будет заполнена списком предложений по поиску для частичного searchTerm и searchArea. Если плагин его поддерживает, могут быть указаны другие параметры, такие как limit и offset. update() отправляет набор параметров для обработки в плагин.
В то время как модель обновляется, состояние модели устанавливается в PlaceSearchSuggestionModel.Loading. Если модель успешно обновляется, состояние устанавливается в PlaceSearchSuggestionModel.Ready, в то время как если она завершается без успеха, состояние устанавливается в PlaceSearchSuggestionModel.Error и модель очищается.
Этот пример демонстрирует использование модели
PlaceSeachSuggestionModel {
id: model
plugin: backendPlugin
searchArea: QtPositioning.circle(QtPositioning.coordinate(10, 10))
...
}
MouseArea {
...
onClicked: {
model.searchTerm = "piz"
model.searchArea.center.latitude = -27.5;
model.searchArea.cetner.longitude = 153;
model.update();
}
}
Более подробный пример можно найти в примере Places (QML).
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qml-qtlocation-placesearchsuggestionmodel.html