PySide6.QtLocation.QGeoRoutingManagerEngine

class QGeoRoutingManagerEngine

QGeoRoutingManagerEngine 类为QGeoServiceProvider插件的实现者提供了一个接口和便捷方法,这些实现者希望提供对地理路由信息的访问。更多

PySide6.QtLocation.QGeoRoutingManagerEngine 的继承图

概要

方法

虚拟方法

信号

注意

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

详细描述

注意

后端类没有源代码或二进制兼容性保证。API 仅保证与开发时使用的 Qt 版本兼容。然而,API 更改只会在次要版本中进行。(6.6、6.7 等。)

QGeoRoutingManagerEngine 的子类需要提供 calculateRoute() 的实现。

在默认实现中,supportsRouteUpdates() 返回 false,updateRoute() 返回一个包含 UnsupportedOptionErrorQGeoRouteReply 对象。

如果路由服务支持在行驶过程中更新路线,子类应提供updateRoute()的实现,并在调用updateRoute()之前的某个时间点调用setSupportsRouteUpdates(true)。

函数 setSupportsRouteUpdates() 是配置引擎报告功能的几个函数之一。如果引擎的功能与默认值不同,则应使用这些函数,以确保报告的功能准确无误。

重要的是,在使用calculateRoute()updateRoute()或任何能力报告函数之前完成此操作,以防止不正确或不一致的行为。

QGeoRouteManagerEngine 的子类通常会在内部使用 QGeoRouteReply 的子类,以便向引擎使用的 QGeoRouteReply 实例添加任何引擎特定的数据(例如用于基于网络服务的 QNetworkReply 对象)。

另请参阅

QGeoRoutingManager

__init__(parameters[, parent=None])
Parameters:
  • parameters – 字典,键类型为 .QString,值类型为 QVariant。

  • parentQObject

使用指定的parent构造一个新的引擎,并使用parameters将任何特定于实现的数据传递给引擎。

abstract calculateRoute(request)
Parameters:

请求QGeoRouteRequest

Return type:

QGeoRouteReply

开始计算由request指定的路线。

将返回一个QGeoRouteReply对象,该对象可用于管理路由操作并返回操作结果。

此引擎和返回的QGeoRouteReply对象将发出信号,指示操作是否完成或是否发生错误。

操作完成后,可以使用routes来检索计算出的路线或路线。

如果request包含此引擎不支持的功能,如该引擎中的方法所报告的,则会发生UnsupportedOptionError

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

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

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

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

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

注意

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

finished(reply)
Parameters:

回复QGeoRouteReply

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

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

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

注意

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

locale()
Return type:

QLocale

返回用于提示此路由管理器关于地址和指令使用何种语言的区域设置。

另请参阅

setLocale()

managerName()
Return type:

字符串

返回此引擎实现用于区分自己与其他插件提供的实现的名称。

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

managerVersion()
Return type:

整数

返回此引擎实现的版本。

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

measurementSystem()
Return type:

MeasurementSystem

返回此管理器使用的测量系统。

如果已经调用了setMeasurementSystem(),那么此函数返回的值可能与locale().measurementSystem()返回的值不同。在这种情况下,此函数返回的值将是管理器所使用的值。

setLocale(locale)
Parameters:

localeQLocale

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

如果此路由管理器支持以不同语言返回地址和指令,它们将以locale的语言返回。

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

另请参阅

locale()

setMeasurementSystem(system)
Parameters:

系统MeasurementSystem

将此管理器使用的测量系统设置为system

测量系统可以独立于区域设置进行设置。无论是setLocale()还是此函数都可以设置测量系统。最后调用的函数设置的值将被使用。

setSupportedFeatureTypes(featureTypes)
Parameters:

featureTypesFeatureType 的组合

设置此引擎在路线规划期间可以考虑的特征类型为featureTypes

子类使用此方法以确保引擎正确报告其功能是非常重要的。如果不使用此函数,引擎将报告它不支持任何功能类型。

setSupportedFeatureWeights(featureWeights)
Parameters:

featureWeightsFeatureWeight 的组合

设置此引擎在路线规划期间可以应用于不同特征的权重为featureWeights

子类使用此方法以确保引擎正确报告其功能非常重要。如果未使用此函数,引擎将报告它根本不支持任何特征权重。

setSupportedManeuverDetails(maneuverDetails)
Parameters:

maneuverDetailsManeuverDetail 的组合

设置此引擎可以请求的导航操作的详细级别为maneuverDetails

子类使用此方法以确保引擎正确报告其功能非常重要。如果不使用此函数,引擎将报告它完全不支持任何操作细节。

setSupportedRouteOptimizations(optimizations)
Parameters:

优化RouteOptimization 的组合

将此引擎支持的路由优化设置为optimizations

子类使用此方法以确保引擎正确报告其功能非常重要。如果不使用此函数,引擎将报告它不支持任何路线优化。

setSupportedSegmentDetails(segmentDetails)
Parameters:

segmentDetailsSegmentDetail 的组合

设置此引擎可以请求的路由段的详细级别为segmentDetails

子类使用此方法以确保引擎正确报告其功能非常重要。如果不使用此函数,引擎将报告它根本不支持任何段详细信息。

setSupportedTravelModes(travelModes)
Parameters:

travelModesTravelMode 的组合

设置此引擎支持的旅行模式为travelModes

子类使用此方法以确保引擎正确报告其功能非常重要。如果不使用此函数,引擎将报告它不支持任何出行模式。

另请参阅

supportedTravelModes()

supportedFeatureTypes()
Return type:

FeatureType的组合

返回此引擎在路线规划期间可以考虑的特征类型。

supportedFeatureWeights()
Return type:

FeatureWeight的组合

返回此引擎在路线规划期间可以应用于不同特征的权重。

supportedManeuverDetails()
Return type:

ManeuverDetail的组合

返回此引擎可以请求的导航操作的详细级别。

supportedRouteOptimizations()
Return type:

RouteOptimization的组合

返回此引擎支持的路由优化。

supportedSegmentDetails()
Return type:

SegmentDetail的组合

返回此引擎可以请求的路由段的详细级别。

supportedTravelModes()
Return type:

TravelMode的组合

返回此引擎支持的出行模式。

updateRoute(route, position)
Parameters:
Return type:

QGeoRouteReply

开始根据当前位置 position 更新 route 的过程。

将返回一个QGeoRouteReply对象,该对象可用于管理路由操作并返回操作结果。

此引擎和返回的QGeoRouteReply对象将发出信号,指示操作是否完成或是否发生错误。

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

操作完成后,可以使用routes来检索更新后的路由。

返回的路线可能与原始路线完全不同,特别是如果position距离初始路线足够远。否则,路线将相似,尽管剩余时间和距离将被更新,并且原始路线中已经经过的部分将被移除。

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