QPlaceSearchRequest Class
QPlaceSearchRequest 类表示搜索请求的一组参数。更多内容...
| Header: | #include <QPlaceSearchRequest> |
| qmake: | QT += location |
公共类型
| enum | RelevanceHint { UnspecifiedHint, DistanceHint, LexicalPlaceNameHint } |
公共函数
| QPlaceSearchRequest() | |
| QPlaceSearchRequest(const QPlaceSearchRequest &other) | |
| QPlaceSearchRequest(QPlaceSearchRequest &&other) | |
| ~QPlaceSearchRequest() | |
| QList<QPlaceCategory> | categories() const |
| void | clear() |
| int | limit() const |
| QString | recommendationId() const |
| QPlaceSearchRequest::RelevanceHint | relevanceHint() const |
| QGeoShape | searchArea() const |
| QVariant | searchContext() const |
| QString | searchTerm() const |
| void | setCategories(const QList<QPlaceCategory> &categories) |
| void | setCategory(const QPlaceCategory &category) |
| void | setLimit(int limit) |
| void | setRecommendationId(const QString &placeId) |
| void | setRelevanceHint(QPlaceSearchRequest::RelevanceHint hint) |
| void | setSearchArea(const QGeoShape &area) |
| void | setSearchContext(const QVariant &context) |
| void | setSearchTerm(const QString &term) |
| void | setVisibilityScope(QLocation::VisibilityScope scope) |
| QLocation::VisibilityScope | visibilityScope() const |
| QPlaceSearchRequest & | operator=(const QPlaceSearchRequest &other) |
相关的非成员
| bool | operator!=(const QPlaceSearchRequest &lhs, const QPlaceSearchRequest &rhs) |
| bool | operator==(const QPlaceSearchRequest &lhs, const QPlaceSearchRequest &rhs) |
详细说明
一个典型的搜索请求可能如下所示:
QPlaceSearchRequest searchRequest;
searchRequest.setSearchTerm("Fast food"); //search term for what we are interested in
//set a search center
searchRequest.setSearchArea(QGeoCircle(QGeoCoordinate(2.3, 48.87)));
//set a distance hint as a relevancy hint.
//closer places have greater weighting in the ranking of results.
searchRequest.setRelevanceHint(QPlaceSearchRequest::DistanceHint);
//use limit to adjust pagination.
//this limits the number of place results to 5 per page.
searchRequest.setLimit(5);
//provide some categories to narrow down search
QList<QPlaceCategory> categories;
categories << diner << restaurant;
searchRequest.setCategories(categories);请注意,指定搜索中心可以通过设置一个具有中心但没有半径的圆形搜索区域来实现。默认半径设置为 -1,这表示半径未定义。提供程序将此解释为可自由选择其自身的默认半径。
QPlaceSearchRequest 主要用于与QPlaceManager 到search for places 配合使用,但也可用于为generating search term suggestions 提供参数。请注意,在此上下文中可能只有部分参数相关。例如,搜索区域有助于缩小相关搜索建议的范围,而其他参数(如相关性提示)则不太适用。
此外还需注意,不同提供商支持的参数可能有所不同,例如某些提供商可能不支持分页,而另一些则支持;某些提供商可能遵循相关性提示,而另一些则可能完全忽略它们,更多详情请参阅插件文档。
成员类型文档
enum QPlaceSearchRequest::RelevanceHint
定义用于帮助对地点结果进行排序的提示。
| 常量 | 值 | 描述 |
|---|---|---|
QPlaceSearchRequest::UnspecifiedHint | 0 | 未指定任何显式提示。 |
QPlaceSearchRequest::DistanceHint | 1 | 与搜索中心的距离对用户而言是相关的。距离越近的地点权重越高。只有当查询中使用了圆形搜索区域时,此提示才有效。 |
QPlaceSearchRequest::LexicalPlaceNameHint | 2 | 按名称对地点进行字母排序对用户而言很重要。 |
成员函数文档
QPlaceSearchRequest::QPlaceSearchRequest()
默认构造函数。用于创建一个新的请求对象。
[noexcept] QPlaceSearchRequest::QPlaceSearchRequest(const QPlaceSearchRequest &other)
创建other 的副本。
[constexpr noexcept default] QPlaceSearchRequest::QPlaceSearchRequest(QPlaceSearchRequest &&other)
通过Move构造一个QPlaceSearchRequest 的实例。
[noexcept] QPlaceSearchRequest::~QPlaceSearchRequest()
销毁请求对象。
QList<QPlaceCategory> QPlaceSearchRequest::categories() const
返回搜索请求中将使用的分类。地点只需属于其中一个分类,即可被该请求视为匹配项。
另请参阅 setCategories()。
void QPlaceSearchRequest::clear()
清除搜索请求。
int QPlaceSearchRequest::limit() const
返回要检索的搜索结果的最大数量。
如果 limit 的值为负数,则表示该参数未定义。具体返回多少条结果由后端提供商自行决定。默认限制值为 -1。
另请参阅 setLimit()。
QString QPlaceSearchRequest::recommendationId() const
返回该地点的ID,该ID将用于搜索类似地点的推荐信息。
另请参阅 setRecommendationId()。
QPlaceSearchRequest::RelevanceHint QPlaceSearchRequest::relevanceHint() const
返回请求的相关性提示。该提示提供给服务提供商,旨在辅助而非强制决定结果的排序。例如,提供距离提示可能会使距离更近的地点排名更高,但这并不一定意味着结果会严格按照距离进行排序。
另请参阅 setRelevanceHint()。
QGeoShape QPlaceSearchRequest::searchArea() const
返回将用于限制搜索结果的搜索区域。默认搜索区域为无效的QGeoShape ,表示未定义具体的搜索区域。
另请参阅 setSearchArea()。
QVariant QPlaceSearchRequest::searchContext() const
返回与该地点搜索请求相关的后端特定附加搜索上下文。该搜索上下文通常作为proposed search results 的一部分进行设置。
另请参阅 setSearchContext()。
QString QPlaceSearchRequest::searchTerm() const
返回搜索词。
另请参阅 setSearchTerm()。
void QPlaceSearchRequest::setCategories(const QList<QPlaceCategory> &categories)
将搜索请求设置为从给定的categories 列表中进行搜索。搜索过程中返回的任何地点都将至少匹配其中一个categories 。
另请参阅 categories() 和setCategory()。
void QPlaceSearchRequest::setCategory(const QPlaceCategory &category)
将搜索请求设置为按单个category
另请参阅 setCategories()。
void QPlaceSearchRequest::setLimit(int limit)
将要检索的搜索结果最大数量设置为limit 。
另请参阅 limit()。
void QPlaceSearchRequest::setRecommendationId(const QString &placeId)
设置用于搜索推荐内容的“placeId ”。
另请参阅 recommendationId()。
void QPlaceSearchRequest::setRelevanceHint(QPlaceSearchRequest::RelevanceHint hint)
设置在搜索地点时使用的相关性hint 。
另请参阅 relevanceHint()。
void QPlaceSearchRequest::setSearchArea(const QGeoShape &area)
将搜索请求设置为在指定的area 内进行搜索。
另请参阅 searchArea()。
void QPlaceSearchRequest::setSearchContext(const QVariant &context)
将搜索上下文设置为context 。
注意:此方法 旨在供地理服务插件在返回QPlaceSearchResult::ProposedSearchResult 类型的搜索结果时使用。
后端会使用搜索上下文来存储与搜索请求相关的附加信息。其他相关字段也应填写完整。例如,如果搜索上下文编码的是文本搜索,则应通过setSearchTerm() 方法一并设置搜索词。搜索上下文允许保存通过Qt Location API 无法直接访问的附加信息。
搜索上下文可以是任何可存储在QVariant 中的类型。搜索上下文的值不供应用程序直接使用。
另请参阅 searchContext()。
void QPlaceSearchRequest::setSearchTerm(const QString &term)
设置搜索term 。
另请参阅 searchTerm()。
void QPlaceSearchRequest::setVisibilityScope(QLocation::VisibilityScope scope)
设置搜索地点时使用的可见性scope 。
另请参阅 visibilityScope()。
QLocation::VisibilityScope QPlaceSearchRequest::visibilityScope() const
返回搜索地点时使用的可见性范围。默认值为QLocation::UnspecifiedVisibility ,表示未显式指定任何范围。搜索结果中可能会包含任何范围内的地点。
另请参阅 setVisibilityScope()。
[noexcept] QPlaceSearchRequest &QPlaceSearchRequest::operator=(const QPlaceSearchRequest &other)
将other 分配给此搜索请求,并返回对此搜索请求的引用。
相关非成员
[noexcept] bool operator!=(const QPlaceSearchRequest &lhs, const QPlaceSearchRequest &rhs)
如果 `lhs ` 不等于 `rhs`,则返回 true;否则返回 false。
[noexcept] bool operator==(const QPlaceSearchRequest &lhs, const QPlaceSearchRequest &rhs)
如果 `lhs ` 等于 `rhs`,则返回 true;否则返回 false。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.