PySide6.QtLocation.QGeoCodingManager

class QGeoCodingManager

QGeoCodingManager 类提供了地理编码操作的支持。更多

PySide6.QtLocation.QGeoCodingManager 的继承图

概要

方法

信号

注意

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

详细描述

geocode()reverseGeocode() 函数返回 QGeoCodeReply 对象,这些对象管理这些操作并报告操作结果以及可能发生的任何错误。

geocode()reverseGeocode() 函数可用于将 QGeoAddress 实例转换为 QGeoCoordinate 实例,反之亦然。

geocode() 函数也被重载,允许用户执行自由文本地理编码操作,如果提供的字符串可以被解释为地址,则可以将其地理编码为坐标信息。

QGeoCodingManager 的实例可以通过 geocodingManager() 访问。

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

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

错误将由错误代码error描述。如果errorString不为空,它将包含错误的文本描述。

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

注意

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

finished(reply)
Parameters:

回复QGeoCodeReply

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

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

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

注意

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

geocode(address[, bounds=QGeoShape()])
Parameters:
Return type:

QGeoCodeReply

开始对address进行地理编码。地理编码是寻找与给定地址对应的坐标的过程。

将返回一个QGeoCodeReply对象,该对象可用于管理地理编码操作并返回操作结果。

此管理器和返回的QGeoCodeReply对象将发出信号,指示操作是否完成或是否发生错误。

如果 supportsGeocoding() 返回 false,将会发生 UnsupportedOptionError

操作完成后,可以使用locations()来检索结果,这些结果将由一系列QGeoLocation对象组成。这些对象代表了坐标和地址数据的组合。

结果中返回的地址数据可能与address不同。如果地理编码服务后端使用不同的规范地址形式,或者address仅部分填写,通常会发生这种情况。

如果 bounds 非空且是一个有效的 QGeoShape,它将用于将结果限制在 bounds 内的那些。这在 address 仅部分填写时特别有用,因为服务将尝试对指定数据的所有匹配项进行地理编码。

用户负责删除返回的回复对象,尽管这可以在连接到finished()errorOccurred()finished()errorOccurred()的槽中使用deleteLater()来完成。

geocode(searchString[, limit=-1[, offset=0[, bounds=QGeoShape()]]])
Parameters:
  • searchString – str

  • limit – int

  • offset – int

  • boundsQGeoShape

Return type:

QGeoCodeReply

开始对匹配address的位置进行地理编码。

将返回一个QGeoCodeReply对象,该对象可用于管理地理编码操作并返回操作结果。

此管理器和返回的QGeoCodeReply对象将发出信号,指示操作是否完成或是否发生错误。

操作完成后,可以使用locations()来检索结果,这些结果将由一系列QGeoLocation对象组成。这些对象代表了坐标和地址数据的组合。

如果 limit 是 -1,将返回整个结果集,否则最多返回 limit 个结果。

offset 参数用于请求地理编码服务不返回前 offset 个结果。

limitoffset 结果一起用于实现分页。

如果 bounds 非空且是一个有效的 QGeoShape,它将用于将结果限制在 bounds 内的那些。

用户负责删除返回的回复对象,尽管这可以在连接到finished()errorOccurred()finished()errorOccurred()的槽中使用deleteLater()来完成。

locale()
Return type:

QLocale

返回用于提示此地理编码管理器使用何种语言显示结果的区域设置。

另请参阅

setLocale()

managerName()
Return type:

字符串

返回实现此地理编码管理器行为的引擎名称。

managerName() 和 managerVersion() 的组合在插件实现中应该是唯一的。

managerVersion()
Return type:

整数

返回实现此地理编码管理器行为的引擎版本。

managerName() 和 managerVersion() 的组合在插件实现中应该是唯一的。

reverseGeocode(coordinate[, bounds=QGeoShape()])
Parameters:
Return type:

QGeoCodeReply

开始对coordinate进行反向地理编码。反向地理编码是寻找与给定坐标对应的地址的过程。

将返回一个QGeoCodeReply对象,该对象可用于管理反向地理编码操作并返回操作结果。

此管理器和返回的QGeoCodeReply对象将发出信号,指示操作是否完成或是否发生错误。

如果 supportsReverseGeocoding() 返回 false,将会发生 UnsupportedOptionError

此时可以使用locations()来检索结果,结果将由一系列QGeoLocation对象组成。这些对象代表了坐标和地址数据的组合。

结果中返回的坐标数据可能与coordinate不同。如果反向地理编码服务后端将坐标移动到更接近匹配地址的位置,或者后端返回多个详细级别的结果,通常会发生这种情况。

如果反向地理编码服务后端返回多个结果,它们将按照具体性顺序提供。这通常发生在后端配置为在多个详细级别上进行反向地理编码时。例如,一些服务将返回街道地址、城市、州和国家的地址和坐标对。

如果 bounds 非空且是一个有效的 QGeoRectangle,它将用于将结果限制在 bounds 内的那些。

用户负责删除返回的回复对象,尽管这可以在连接到finished()errorOccurred()finished()errorOccurred()的槽中使用deleteLater()来完成。

setLocale(locale)
Parameters:

localeQLocale

设置此管理器使用的区域设置为locale

如果这个地理编码管理器支持以不同语言返回结果,它们将以locale的语言返回。

如果未设置,使用的区域设置默认为系统区域设置。

另请参阅

locale()