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
错误 –
Error
errorString – str
当在
reply
的处理过程中检测到错误时,会发出此信号。finished()
信号可能会紧随其后。错误将由错误代码
error
描述。如果errorString
不为空,它将包含错误的文本描述。此信号和
errorOccurred()
将同时发出。注意
不要删除连接到这个信号的槽中的
reply
对象。请使用deleteLater()代替。- finished(reply)¶
- Parameters:
回复 –
QGeoCodeReply
当
reply
完成处理时,会发出此信号。如果 reply::error() 等于
NoError
,则处理成功完成。此信号和
finished()
将同时发出。注意
不要删除连接到这个信号的槽中的
reply
对象。请使用deleteLater()代替。- geocode(address[, bounds=QGeoShape()])¶
- Parameters:
地址 –
QGeoAddress
bounds –
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 –
QGeoCoordinate
bounds –
QGeoShape
- Return type:
开始对
coordinate
进行反向地理编码。反向地理编码是寻找与给定坐标对应的地址的过程。将返回一个
QGeoCodeReply
对象,该对象可用于管理反向地理编码操作并返回操作结果。此管理器和返回的
QGeoCodeReply
对象将发出信号,指示操作是否完成或是否发生错误。如果 supportsReverseGeocoding() 返回 false,将会发生
UnsupportedOptionError
。此时可以使用
locations()
来检索结果,结果将由一系列QGeoLocation对象组成。这些对象代表了坐标和地址数据的组合。结果中返回的坐标数据可能与
coordinate
不同。如果反向地理编码服务后端将坐标移动到更接近匹配地址的位置,或者后端返回多个详细级别的结果,通常会发生这种情况。如果反向地理编码服务后端返回多个结果,它们将按照具体性顺序提供。这通常发生在后端配置为在多个详细级别上进行反向地理编码时。例如,一些服务将返回街道地址、城市、州和国家的地址和坐标对。
如果
bounds
非空且是一个有效的 QGeoRectangle,它将用于将结果限制在bounds
内的那些。用户负责删除返回的回复对象,尽管这可以在连接到
finished()
、errorOccurred()
、finished()
或errorOccurred()
的槽中使用deleteLater()来完成。设置此管理器使用的区域设置为
locale
。如果这个地理编码管理器支持以不同语言返回结果,它们将以
locale
的语言返回。如果未设置,使用的区域设置默认为系统区域设置。
另请参阅