PySide6.QtLocation.QPlaceManager

class QPlaceManager

QPlaceManager 类提供了允许客户端访问存储在特定后端中的地点的接口。更多

PySide6.QtLocation.QPlaceManager 的继承图

概要

方法

信号

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

下表概述了QPlaceManager提供的功能

功能

描述

搜索地点

使用一组参数,如搜索词和搜索区域,可以向用户返回相关的地点。

分类

地点可以被分类为属于不同的类别。管理器支持访问这些类别。

搜索词建议

给定一个部分完成的搜索词,可以提供一组潜在的搜索词。

推荐

给定一个现有的地点,可以向用户推荐一组类似的推荐地点。

富内容

可以以分页方式检索图像、评论等富内容。

地点或类别管理

可以保存和删除地点和类别。当这种情况发生时,可以发出通知。

本地化

可以指定不同的区域设置以返回不同语言的地点数据。

获取QPlaceManager实例

创建QPlaceManager是通过QGeoServiceProvider来完成的。请参阅初始化管理器以获取如何创建管理器的示例。

异步接口

QPlaceManager 类提供了包含地点信息的数据存储的抽象。QPlaceManager 提供的函数主要是异步的,并遵循请求-回复模型。通常,向管理器发出请求,请求由各种参数组成,并创建一个回复对象。回复对象有一个信号,用于在请求完成时通知,一旦完成,回复包含请求的结果以及发生的任何错误(如果有的话)。

异步请求通常按以下方式处理:

#1) Make an appropriate request
searchRequest = QPlaceSearchRequest()
searchRequest.setSearchTerm("ice cream")
searchRequest.setSearchArea(QGeoCircle(QGeoCoordinate(12.34, 56.78)))
#2) Use the manager to initiate a request and retrieve a reply object
QPlaceSearchReply * searchReply = manager.search(searchRequest)
#3) Connect the reply object to a slot which is invoked upon operation completion
searchReply.finished.connect(
        self.processSearchReply)            ...
    ...

<Code snippet "places/requesthandler.h:Simple search handler" not found>

请参阅常见操作以获取展示如何使用QPlaceManger的示例列表。

类别初始化

在应用程序启动期间的某个时候,应该调用initializeCategories()函数来设置类别。初始化类别后,可以使用以下函数:

如果需要刷新或重新加载类别,可以再次调用initializeCategories()函数。

category(categoryId)
Parameters:

categoryId – str

Return type:

QPlaceCategory

返回与给定categoryId对应的类别。

categoryAdded(category, parentId)
Parameters:

如果向管理器的数据存储中添加了一个category,则会发出此信号。category的父级由parentId指定。

此信号仅由支持QPlaceManager::NotificationsFeature的管理器发出。

另请参阅

dataChanged()

categoryRemoved(categoryId, parentId)
Parameters:
  • categoryId – str

  • parentId – str

当与categoryId对应的类别已从管理器的数据存储中移除时,会发出此信号。被移除类别的父类别由parentId指定。

此信号仅由支持QPlaceManager::NotificationsFeature的管理器发出。

另请参阅

dataChanged()

categoryUpdated(category, parentId)
Parameters:

如果在管理器的数据存储中修改了一个category,则会发出此信号。修改类别的父级由parentId指定。

此信号仅由支持QPlaceManager::NotificationsFeature的管理器发出。

另请参阅

dataChanged()

childCategories([parentId=""])
Parameters:

parentId – str

Return type:

QPlaceCategory的列表

返回与parentId对应的类别的子类别列表。如果parentId为空,则返回所有顶级类别。

childCategoryIds([parentId=""])
Parameters:

parentId – str

Return type:

字符串列表

返回与parentId对应的类别的子类别标识符。如果parentId为空,则返回所有顶级类别标识符。

compatiblePlace(place)
Parameters:

地点QPlace

Return type:

QPlace

返回一个经过修剪或修改的original版本,适合保存到此管理器中。

只有此管理器支持的场所详细信息才会出现在修改后的版本中。管理器特定的数据,如场所ID,不会从original复制过来。

dataChanged()

如果管理器的基础数据存储发生大规模更改,并且管理器认为这些更改足够激进,需要客户端重新加载所有数据,则会发出此信号。

如果信号被发出,相关的更改将不会发出其他信号。

此信号仅由支持QPlaceManager::NotificationsFeature的管理器发出。

errorOccurred(reply, error[, errorString=""])
Parameters:

当在reply的处理过程中检测到错误时,会发出此信号。finished()信号可能会紧随其后。

错误将由错误代码error描述。如果errorString不为空,它将包含一个面向开发者的错误文本描述,而不是最终用户。

此信号和errorOccurred()将同时发出。

注意

不要删除连接到这个信号的槽中的reply对象。请使用deleteLater()代替。

finished(reply)
Parameters:

回复QPlaceReply

reply完成处理时,会发出此信号。

如果 reply->error() 等于 NoError,则处理成功完成。

此信号和finished()将同时发出。

注意

不要删除连接到这个信号的槽中的reply对象。请使用deleteLater()代替。

getPlaceContent(request)
Parameters:

请求QPlaceContentRequest

Return type:

QPlaceContentReply

根据request中指定的参数检索地点的内容。

请参阅 获取富内容 以查看使用示例。

getPlaceDetails(placeId)
Parameters:

placeId – str

Return type:

QPlaceDetailsReply

检索与给定placeId对应的地点详细信息。

请参阅 获取地点详情 以查看使用示例。

initializeCategories()
Return type:

QPlaceReply

初始化管理器的类别。

查看 使用类别 的使用示例。

locales()
Return type:

QLocale的列表

返回首选语言环境的列表。这些语言环境用作管理器的提示,指示应返回哪种语言的地点和类别详细信息。

如果无法适应第一个指定的语言环境,管理器将回退到下一个,依此类推。一些管理器后端可能不支持严格定义的一组语言环境。一个任意的例子是,法国的一些地方可能有法语和英语的本地化,而美国的某些地区可能只有英语的本地化可用。在这个例子中,支持的语言环境集合取决于搜索位置的上下文。

如果管理器无法适应任何首选区域设置,管理器将回退到使用特定于后端的支持语言。

对语言环境的支持可能因提供商而异。对于那些确实支持它的提供商,默认情况下,全局默认语言环境被设置为管理器的唯一语言环境。

对于不支持区域设置的经理,区域设置列表始终为空。

另请参阅

setLocales()

managerName()
Return type:

字符串

返回管理员的名称

managerVersion()
Return type:

整数

返回管理器的版本。

matchingPlaces(request)
Parameters:

请求QPlaceMatchRequest

Return type:

QPlaceMatchReply

返回一个包含与request中指定的地点对应/匹配的地点列表的回复。请求中指定的地点来自不同的管理器。

parentCategoryId(categoryId)
Parameters:

categoryId – str

Return type:

字符串

返回与categoryId对应的类别的父类别标识符。

placeAdded(placeId)
Parameters:

placeId – str

如果某个地点已被添加到管理器引擎的数据存储中,则会发出此信号。具体添加的地点由placeId指定。

此信号仅由支持QPlaceManager::NotificationsFeature的管理器发出。

另请参阅

dataChanged()

placeRemoved(placeId)
Parameters:

placeId – str

如果某个地点已从管理器的数据存储中移除,则会发出此信号。已移除的特定地点由placeId指定。

此信号仅由支持QPlaceManager::NotificationsFeature的管理器发出。

另请参阅

dataChanged()

placeUpdated(placeId)
Parameters:

placeId – str

如果管理器数据存储中的某个地点被修改,则会发出此信号。特定的修改地点由placeId指定。

此信号仅由支持QPlaceManager::NotificationsFeature的管理器发出。

另请参阅

dataChanged()

removeCategory(categoryId)
Parameters:

categoryId – str

Return type:

QPlaceIdReply

从管理器中移除与categoryId对应的类别。

请参阅删除类别以获取使用示例。

removePlace(placeId)
Parameters:

placeId – str

Return type:

QPlaceIdReply

从管理器中移除与placeId对应的地点。

请参阅Removing a place cpp以获取使用示例。

saveCategory(category[, parentId=""])
Parameters:
Return type:

QPlaceIdReply

保存一个category,它是parentId指定的类别的子类别。空的parentId意味着category被保存为顶级类别。

请参阅保存类别以获取使用示例。

savePlace(place)
Parameters:

地点QPlace

Return type:

QPlaceIdReply

保存指定的place

请参阅Saving a place cpp以获取使用示例。

search(query)
Parameters:

查询QPlaceSearchRequest

Return type:

QPlaceSearchReply

根据request中指定的参数搜索地点。

查看 Discovery/Search 的使用示例。

searchSuggestions(request)
Parameters:

请求QPlaceSearchRequest

Return type:

QPlaceSearchSuggestionReply

根据request中指定的参数请求一组搜索词建议。request可以包含不完整的搜索词,以及其他数据,如搜索区域以缩小相关结果的范围。

查看 搜索建议 以获取使用示例。

setLocale(locale)
Parameters:

localeQLocale

便利函数,将管理器的首选语言环境列表设置为单个locale

setLocales(locale)
Parameters:

locale – QLocale的列表

设置首选的locales列表。

另请参阅

locales()