PySide6.QtLocation.QGeoRoutingManagerEngine¶
- class QGeoRoutingManagerEngine¶
QGeoRoutingManagerEngine类为QGeoServiceProvider插件的实现者提供了一个接口和便捷方法,这些实现者希望提供对地理路由信息的访问。更多…概要¶
方法¶
def
__init__()def
locale()def
managerName()def
managerVersion()def
setLocale()
虚拟方法¶
def
calculateRoute()def
updateRoute()
信号¶
def
errorOccurred()def
finished()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
注意
后端类没有源代码或二进制兼容性保证。API 仅保证与开发时使用的 Qt 版本兼容。然而,API 更改只会在次要版本中进行。(6.6、6.7 等。)
QGeoRoutingManagerEngine的子类需要提供calculateRoute()的实现。在默认实现中,supportsRouteUpdates() 返回 false,
updateRoute()返回一个包含UnsupportedOptionError的QGeoRouteReply对象。如果路由服务支持在行驶过程中更新路线,子类应提供
updateRoute()的实现,并在调用updateRoute()之前的某个时间点调用setSupportsRouteUpdates(true)。函数 setSupportsRouteUpdates() 是配置引擎报告功能的几个函数之一。如果引擎的功能与默认值不同,则应使用这些函数,以确保报告的功能准确无误。
重要的是,在使用
calculateRoute()、updateRoute()或任何能力报告函数之前完成此操作,以防止不正确或不一致的行为。QGeoRouteManagerEngine 的子类通常会在内部使用
QGeoRouteReply的子类,以便向引擎使用的QGeoRouteReply实例添加任何引擎特定的数据(例如用于基于网络服务的 QNetworkReply 对象)。另请参阅
- __init__(parameters[, parent=None])¶
- Parameters:
parameters – 字典,键类型为 .QString,值类型为 QVariant。
parent –
QObject
使用指定的
parent构造一个新的引擎,并使用parameters将任何特定于实现的数据传递给引擎。- abstract calculateRoute(request)¶
- Parameters:
请求 –
QGeoRouteRequest- Return type:
开始计算由
request指定的路线。将返回一个
QGeoRouteReply对象,该对象可用于管理路由操作并返回操作结果。此引擎和返回的
QGeoRouteReply对象将发出信号,指示操作是否完成或是否发生错误。操作完成后,可以使用
routes来检索计算出的路线或路线。如果
request包含此引擎不支持的功能,如该引擎中的方法所报告的,则会发生UnsupportedOptionError。用户负责删除返回的回复对象,尽管这可以在连接到
finished()、errorOccurred()、finished()或errorOccurred()的槽中使用deleteLater()来完成。- errorOccurred(reply, error[, errorString=""])¶
- Parameters:
回复 –
QGeoRouteReply错误 –
ErrorerrorString – str
当在
reply的处理过程中检测到错误时,会发出此信号。finished()信号可能会紧随其后。错误将由错误代码
error描述。如果errorString不为空,它将包含错误的文本描述。此信号和
errorOccurred()将同时发出。注意
不要删除连接到这个信号的槽中的
reply对象。请使用deleteLater()代替。- finished(reply)¶
- Parameters:
回复 –
QGeoRouteReply
当
reply完成处理时,会发出此信号。如果 reply::error() 等于
NoError,则处理成功完成。此信号和
finished()将同时发出。注意
不要删除连接到这个信号的槽中的
reply对象。请使用deleteLater()代替。返回用于提示此路由管理器关于地址和指令使用何种语言的区域设置。
另请参阅
- managerName()¶
- Return type:
字符串
返回此引擎实现用于区分自己与其他插件提供的实现的名称。
managerName() 和
managerVersion()的组合在插件实现中应该是唯一的。- managerVersion()¶
- Return type:
整数
返回此引擎实现的版本。
managerName()和 managerVersion() 的组合在插件实现中应该是唯一的。- measurementSystem()¶
- Return type:
返回此管理器使用的测量系统。
如果已经调用了
setMeasurementSystem(),那么此函数返回的值可能与locale().measurementSystem()返回的值不同。在这种情况下,此函数返回的值将是管理器所使用的值。设置此管理器使用的区域设置为
locale。如果此路由管理器支持以不同语言返回地址和指令,它们将以
locale的语言返回。如果未设置,使用的区域设置默认为系统区域设置。
另请参阅
- setMeasurementSystem(system)¶
- Parameters:
系统 –
MeasurementSystem
将此管理器使用的测量系统设置为
system。测量系统可以独立于区域设置进行设置。无论是
setLocale()还是此函数都可以设置测量系统。最后调用的函数设置的值将被使用。- setSupportedFeatureTypes(featureTypes)¶
- Parameters:
featureTypes –
FeatureType的组合
设置此引擎在路线规划期间可以考虑的特征类型为
featureTypes。子类使用此方法以确保引擎正确报告其功能是非常重要的。如果不使用此函数,引擎将报告它不支持任何功能类型。
- setSupportedFeatureWeights(featureWeights)¶
- Parameters:
featureWeights –
FeatureWeight的组合
设置此引擎在路线规划期间可以应用于不同特征的权重为
featureWeights。子类使用此方法以确保引擎正确报告其功能非常重要。如果未使用此函数,引擎将报告它根本不支持任何特征权重。
- setSupportedManeuverDetails(maneuverDetails)¶
- Parameters:
maneuverDetails –
ManeuverDetail的组合
设置此引擎可以请求的导航操作的详细级别为
maneuverDetails。子类使用此方法以确保引擎正确报告其功能非常重要。如果不使用此函数,引擎将报告它完全不支持任何操作细节。
- setSupportedRouteOptimizations(optimizations)¶
- Parameters:
优化 –
RouteOptimization的组合
将此引擎支持的路由优化设置为
optimizations。子类使用此方法以确保引擎正确报告其功能非常重要。如果不使用此函数,引擎将报告它不支持任何路线优化。
- setSupportedSegmentDetails(segmentDetails)¶
- Parameters:
segmentDetails –
SegmentDetail的组合
设置此引擎可以请求的路由段的详细级别为
segmentDetails。子类使用此方法以确保引擎正确报告其功能非常重要。如果不使用此函数,引擎将报告它根本不支持任何段详细信息。
- setSupportedTravelModes(travelModes)¶
- Parameters:
travelModes –
TravelMode的组合
设置此引擎支持的旅行模式为
travelModes。子类使用此方法以确保引擎正确报告其功能非常重要。如果不使用此函数,引擎将报告它不支持任何出行模式。
- supportedFeatureTypes()¶
- Return type:
FeatureType的组合
返回此引擎在路线规划期间可以考虑的特征类型。
- supportedFeatureWeights()¶
- Return type:
返回此引擎在路线规划期间可以应用于不同特征的权重。
- supportedManeuverDetails()¶
- Return type:
返回此引擎可以请求的导航操作的详细级别。
- supportedRouteOptimizations()¶
- Return type:
返回此引擎支持的路由优化。
- supportedSegmentDetails()¶
- Return type:
返回此引擎可以请求的路由段的详细级别。
- supportedTravelModes()¶
- Return type:
TravelMode的组合
返回此引擎支持的出行模式。
- updateRoute(route, position)¶
- Parameters:
route –
QGeoRouteposition –
QGeoCoordinate
- Return type:
开始根据当前位置
position更新route的过程。将返回一个
QGeoRouteReply对象,该对象可用于管理路由操作并返回操作结果。此引擎和返回的
QGeoRouteReply对象将发出信号,指示操作是否完成或是否发生错误。如果 supportsRouteUpdates() 返回 false,将会发生
UnsupportedOptionError。操作完成后,可以使用
routes来检索更新后的路由。返回的路线可能与原始路线完全不同,特别是如果
position距离初始路线足够远。否则,路线将相似,尽管剩余时间和距离将被更新,并且原始路线中已经经过的部分将被移除。用户负责删除返回的回复对象,尽管这可以在连接到
finished()、errorOccurred()、finished()或errorOccurred()的槽中使用deleteLater()来完成。