PySide6.QtLocation.QGeoCodingManagerEngine¶
- class QGeoCodingManagerEngine¶
QGeoCodingManagerEngine类为QGeoServiceProvider插件的实现者提供了一个接口和便捷方法,这些实现者希望提供对地理编码操作的支持。更多…概要¶
方法¶
def
__init__()def
locale()def
managerName()def
managerVersion()def
setLocale()
虚拟方法¶
def
geocode()def
reverseGeocode()
信号¶
def
errorOccurred()def
finished()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
注意
后端类没有源代码或二进制兼容性保证。API 仅保证与开发时使用的 Qt 版本兼容。然而,API 更改只会在次要版本中进行。(6.6、6.7 等。)
在默认实现中,supportsGeocoding() 和 supportsReverseGeocoding() 返回 false,而
geocode()和reverseGeocode()会导致UnsupportedOptionError发生。如果服务提供商支持地理编码,子类应提供
geocode()的实现,并在调用geocode()之前的某个时间点调用setSupportsGeocoding(true)。同样地,如果服务提供商支持反向地理编码,子类应提供
reverseGeocode()的实现,并在reverseGeocode()被调用之前的某个时间点调用setSupportsReverseGeocoding(true)。QGeoCodingManagerEngine的子类通常会在内部使用QGeoCodeReply的子类,以便向引擎使用的QGeoCodeReply实例添加任何引擎特定的数据(例如用于基于网络服务的 QNetworkReply 对象)。另请参阅
- __init__(parameters[, parent=None])¶
- Parameters:
parameters – 字典,键类型为 .QString,值类型为 QVariant。
parent –
QObject
使用指定的
parent构造一个新的引擎,并使用parameters将任何特定于实现的数据传递给引擎。- errorOccurred(reply, error[, errorString=""])¶
- Parameters:
回复 –
QGeoCodeReply错误 –
ErrorerrorString – str
当在
reply的处理过程中检测到错误时,会发出此信号。finished()信号可能会紧随其后。错误将由错误代码
error描述。如果errorString不为空,它将包含错误的文本描述。此信号和
errorOccurred()将同时发出。注意
不要删除连接到这个信号的槽中的
reply对象。请使用deleteLater()代替。- finished(reply)¶
- Parameters:
回复 –
QGeoCodeReply
当
reply完成处理时,会发出此信号。如果 reply::error() 等于
NoError,则处理成功完成。此信号和
finished()将同时发出。注意
不要删除连接到这个信号的槽中的
reply对象。请使用deleteLater()代替。- geocode(address, bounds)¶
- Parameters:
地址 –
QGeoAddressbounds –
QGeoShape
- Return type:
开始对
address进行地理编码。地理编码是寻找与给定地址对应的坐标的过程。将返回一个
QGeoCodeReply对象,该对象可用于管理地理编码操作并返回操作结果。此引擎和返回的
QGeoCodeReply对象将发出信号,指示操作是否完成或是否发生错误。如果 supportsGeocoding() 返回 false,将会发生
UnsupportedOptionError。操作完成后,可以使用
locations()来检索结果,结果将由一系列QGeoLocation对象组成。这些对象代表了坐标和地址数据的组合。结果中返回的地址数据可能与
address不同。如果地理编码服务后端使用不同的规范地址形式,或者address仅部分填写,通常会发生这种情况。如果
bounds非空且是一个有效的 QGeoShape,它将用于将结果限制在bounds包含的范围内。这在address仅部分填写时特别有用,因为服务将尝试对指定数据的所有匹配项进行地理编码。用户负责删除返回的回复对象,尽管这可以在连接到
finished()、errorOccurred()、finished()或errorOccurred()的槽中使用deleteLater()来完成。- geocode(address, limit, offset, bounds)
- Parameters:
address – str
limit – int
offset – int
bounds –
QGeoShape
- Return type:
开始对匹配
address的位置进行地理编码。将返回一个
QGeoCodeReply对象,该对象可用于管理地理编码操作并返回操作结果。此引擎和返回的
QGeoCodeReply对象将发出信号,指示操作是否完成或是否发生错误。操作完成后,可以使用
locations()来检索结果,这些结果将由一系列QGeoLocation对象组成。这些对象代表了坐标和地址数据的组合。如果
limit是 -1,将返回整个结果集,否则最多返回limit个结果。offset参数用于请求地理编码服务不返回前offset个结果。limit和offset结果一起用于实现分页。如果
bounds非空且是一个有效的 QGeoShape,它将用于将结果限制在bounds所包含的范围内。用户负责删除返回的回复对象,尽管这可以在连接到
finished()、errorOccurred()、finished()或errorOccurred()的槽中使用deleteLater()来完成。返回用于提示此地理编码管理器使用何种语言显示结果的区域设置。
另请参阅
- managerName()¶
- Return type:
字符串
返回此引擎实现用于区分自己与其他插件提供的实现的名称。
managerName() 和
managerVersion()的组合在插件实现中应该是唯一的。- managerVersion()¶
- Return type:
整数
返回此引擎实现的版本。
managerName()和 managerVersion() 的组合在插件实现中应该是唯一的。- reverseGeocode(coordinate, bounds)¶
- Parameters:
coordinate –
QGeoCoordinatebounds –
QGeoShape
- Return type:
开始对
coordinate进行反向地理编码。反向地理编码是寻找与给定坐标对应的地址的过程。将返回一个
QGeoCodeReply对象,该对象可用于管理反向地理编码操作并返回操作结果。此引擎和返回的
QGeoCodeReply对象将发出信号,指示操作是否完成或是否发生错误。如果 supportsReverseGeocoding() 返回 false,将会发生
UnsupportedOptionError。此时可以使用
locations()来检索结果,结果将由一系列QGeoLocation对象组成。这些对象代表了坐标和地址数据的组合。结果中返回的坐标数据可能与
coordinate不同。如果反向地理编码服务后端将坐标移动到更接近匹配地址的位置,或者后端返回多个详细级别的结果,通常会发生这种情况。如果反向地理编码服务后端返回多个结果,它们将按照具体性顺序提供。这通常发生在后端配置为在多个详细级别上进行反向地理编码时。例如,一些服务将返回街道地址、城市、州和国家的地址和坐标对。
如果
bounds非空且是一个有效的 QGeoShape,它将用于将结果限制在bounds所包含的范围内。用户负责删除返回的回复对象,尽管这可以在连接到
finished()、errorOccurred()、finished()或errorOccurred()的槽中使用deleteLater()来完成。设置此管理器使用的区域设置为
locale。如果这个地理编码管理器支持以不同语言返回结果,它们将以
locale的语言返回。如果未设置,使用的区域设置默认为系统区域设置。
另请参阅