PySide6.QtLocation.QGeoCodingManager¶
- class QGeoCodingManager¶
QGeoCodingManager类提供了地理编码操作的支持。更多…概要¶
方法¶
def
geocode()def
locale()def
managerName()def
managerVersion()def
reverseGeocode()def
setLocale()
信号¶
def
errorOccurred()def
finished()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
geocode()和reverseGeocode()函数返回QGeoCodeReply对象,这些对象管理这些操作并报告操作结果以及可能发生的任何错误。geocode()和reverseGeocode()函数可用于将 QGeoAddress 实例转换为 QGeoCoordinate 实例,反之亦然。geocode()函数也被重载,允许用户执行自由文本地理编码操作,如果提供的字符串可以被解释为地址,则可以将其地理编码为坐标信息。QGeoCodingManager的实例可以通过geocodingManager()访问。- 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=QGeoShape()])¶
- 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(searchString[, limit=-1[, offset=0[, bounds=QGeoShape()]]])
- Parameters:
searchString – 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=QGeoShape()])¶
- Parameters:
coordinate –
QGeoCoordinatebounds –
QGeoShape
- Return type:
开始对
coordinate进行反向地理编码。反向地理编码是寻找与给定坐标对应的地址的过程。将返回一个
QGeoCodeReply对象,该对象可用于管理反向地理编码操作并返回操作结果。此管理器和返回的
QGeoCodeReply对象将发出信号,指示操作是否完成或是否发生错误。如果 supportsReverseGeocoding() 返回 false,将会发生
UnsupportedOptionError。此时可以使用
locations()来检索结果,结果将由一系列QGeoLocation对象组成。这些对象代表了坐标和地址数据的组合。结果中返回的坐标数据可能与
coordinate不同。如果反向地理编码服务后端将坐标移动到更接近匹配地址的位置,或者后端返回多个详细级别的结果,通常会发生这种情况。如果反向地理编码服务后端返回多个结果,它们将按照具体性顺序提供。这通常发生在后端配置为在多个详细级别上进行反向地理编码时。例如,一些服务将返回街道地址、城市、州和国家的地址和坐标对。
如果
bounds非空且是一个有效的 QGeoRectangle,它将用于将结果限制在bounds内的那些。用户负责删除返回的回复对象,尽管这可以在连接到
finished()、errorOccurred()、finished()或errorOccurred()的槽中使用deleteLater()来完成。设置此管理器使用的区域设置为
locale。如果这个地理编码管理器支持以不同语言返回结果,它们将以
locale的语言返回。如果未设置,使用的区域设置默认为系统区域设置。
另请参阅