PlaceSearchSuggestionModel QML 类型

提供对搜索词建议的访问。 更多...

导入语句import QtLocation 6.7
自从QtLocation 5.5

属性

方法

详细描述

PlaceSearchSuggestionModel 可用于在用户输入搜索词时提供搜索词建议。此模型属性应与用于执行实际搜索查询的 PlaceSearchModel 匹配,以确保搜索建议结果的相关性。

访问此模型提供的数据有两种方式,一种是通过 suggestions 属性,另一种是通过视图和代理。后者是首选方法。

可以使用 offsetlimit 属性访问分页建议。当设置 offsetlimit 属性时,将返回位于 offset 和 (offset + limit - 1) 之间的建议。分页支持可能因插件而异。

该模型返回以下角色的数据

角色类型描述
suggestionstring建议的搜索词。

以下示例演示了如何使用 PlaceSearchSuggestionModel 从部分搜索词获取建议的搜索词。将 searchArea 设置为与使用 PlaceSearchModel 执行实际地点搜索将匹配的内容。

import QtQuick
import QtPositioning
import QtLocation

PlaceSearchSuggestionModel {
    id: suggestionModel

    plugin: myPlugin

    // Brisbane
    searchArea: QtPositioning.circle(QtPositioning.coordinate(-27.46778, 153.02778))

    onSearchTermChanged: update()
}

ListView {
    model: suggestionModel
    delegate: Text { text: suggestion }
}

另请参阅 PlaceSearchModelQPlaceManager

属性文档

limit : int

此属性表示将被返回的项数限制。

另请参阅偏移量


偏移量 : int

此属性表示模型中第一个项的索引。

另请参阅限制


插件 : Plugin

此属性表示将用于执行搜索的提供者 Plugin


searchArea : geoshape

此属性表示搜索区域。模型返回的搜索建议结果将与指定的搜索区域相关。

如果此属性设置为 geocircle,则其 半径 属性可以未设置,在这种情况下,Plugin 将选择适合搜索的适当半径。


searchTerm : string

此属性表示查询中使用的部分搜索词。


状态 : enum [只读]

此属性表示模型的状态。可以是以下之一

PlaceSearchSuggestionModel.Null尚未执行搜索查询。模型为空。
PlaceSearchSuggestionModel.Ready搜索查询已完成,结果可用。
PlaceSearchSuggestionModel.Loading当前正在执行搜索查询。
PlaceSearchSuggestionModel.Error在执行上一个搜索查询时发生错误。

建议 : stringlist [只读]

此属性表示模型当前具有的预测搜索词列表。


方法文档

void cancel()

立即取消正在进行的搜索建议操作,并将模型状态设置为 PlaceSearchSuggestionModel.Ready。模型保留在操作开始之前所拥有的任何搜索建议。

如果没有正在进行的操作,调用 cancel() 无效。

另请参阅update() 和 状态


string errorString()

此只读属性表示最新搜索建议模型错误的文本表示。如果没有发生错误或模型已被清除,则返回空字符串。

如果发生错误但没有任何相关的文本表示,也可能返回空字符串。


void reset()

重置模型。清除所有搜索建议,取消任何待处理的请求,并清除可能出现的错误。模型状态将设置为 PlaceSearchSuggestionModel.Null。


void update()

根据提供的查询参数更新模型。模型将填充一个针对部分searchTermsearchArea的搜索建议列表。如果插件支持,还可以指定其他参数,例如limitoffsetupdate()将参数集提交给插件进行处理。

在模型更新期间,模型的状态设置为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();
    }
}

更详细的示例可以在位置 (QML)示例中找到。

另请参阅cancel()和status


© 2024 Qt公司。本文档中包含的文档贡献是各自所有者的版权。本文档根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款授权。Qt及其相关标志是芬兰及其他国家和地区的Qt公司的商标。所有其他商标均为其各自所有者的财产。