PySide6.QtLocation.QGeoServiceProvider

class QGeoServiceProvider

QGeoServiceProvider 类聚合了提供地理信息的服务的访问。更多

PySide6.QtLocation.QGeoServiceProvider 的继承图

概要

方法

静态函数

注意

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

详细描述

地图和导航API允许人们访问各种地理信息,包括执行地理编码、路线规划和地图显示的功能。QGeoServiceProvider集成了由单一供应商提供的这些服务的访问。

可以混合和匹配不同领域的服务提供商,这样来自一个服务提供商的地理编码管理器可以与来自另一个服务提供商的地理路由管理器一起使用。

除非客户端能够验证不同服务提供的数据是兼容的,否则不建议这样做,因为基础数据集的差异可能会导致服务之间的严重不一致。

QGeoServiceProvider 的子类保证它们提供的不同服务是互操作的。

每个服务提供商必须遵循其服务特定参数名称/键的命名约定。他们使用提供商名称作为所有参数名称的前缀。当加载提供商时,只有那些参数名称以提供商名称开头的参数才会被传递。这避免了与其他插件共享敏感参数,如机密的tokenapp_id参数。

请查看GeoServices插件的具体文档,以获取可用参数名称/键和值的完整列表。

class Error

描述与服务提供者插件的加载和设置相关的错误。

常量

描述

QGeoServiceProvider.NoError

没有发生错误。

QGeoServiceProvider.NotSupportedError

插件不支持此功能。

QGeoServiceProvider.UnknownParameterError

插件未识别出给定的参数之一。

QGeoServiceProvider.MissingRequiredParameterError

插件未找到它期望的参数之一。

QGeoServiceProvider.ConnectionError

插件无法连接到其后端服务或数据库。

QGeoServiceProvider.LoaderError

插件加载失败。

class RoutingFeature

(继承自 enum.Flag) 描述地理服务提供商支持的路由功能。

常量

描述

QGeoServiceProvider.NoRoutingFeatures

不支持任何路由功能。

QGeoServiceProvider.OnlineRoutingFeature

支持在线路由。

QGeoServiceProvider.OfflineRoutingFeature

支持离线路由。

QGeoServiceProvider.LocalizedRoutingFeature

支持返回带有本地化地址和指示的路线。

QGeoServiceProvider.RouteUpdatesFeature

支持根据当前位置更新现有路线。

QGeoServiceProvider.AlternativeRoutesFeature

支持返回替代路线。

QGeoServiceProvider.ExcludeAreasRoutingFeature

支持指定返回的路线不得穿越的区域。

QGeoServiceProvider.AnyRoutingFeatures

匹配提供任何路由功能的地理服务提供商。

class GeocodingFeature

(继承 enum.Flag) 描述地理服务提供商支持的地理编码功能。

常量

描述

QGeoServiceProvider.NoGeocodingFeatures

不支持地理编码功能。

QGeoServiceProvider.OnlineGeocodingFeature

支持在线地理编码。

QGeoServiceProvider.OfflineGeocodingFeature

支持离线地理编码。

QGeoServiceProvider.ReverseGeocodingFeature

支持反向地理编码。

QGeoServiceProvider.LocalizedGeocodingFeature

支持返回带有本地化地址的地理编码结果。

QGeoServiceProvider.AnyGeocodingFeatures

匹配提供任何地理编码功能的地理服务提供商。

class MappingFeature

(继承自 enum.Flag) 描述地理服务提供商支持的映射功能。

常量

描述

QGeoServiceProvider.NoMappingFeatures

不支持任何地图功能。

QGeoServiceProvider.OnlineMappingFeature

支持在线地图。

QGeoServiceProvider.OfflineMappingFeature

支持离线地图。

QGeoServiceProvider.LocalizedMappingFeature

支持返回本地化的地图数据。

QGeoServiceProvider.AnyMappingFeatures

匹配提供任何地图功能的地理服务提供商。

class PlacesFeature

(继承自 enum.Flag) 描述地理服务提供商支持的地点功能。

常量

描述

QGeoServiceProvider.NoPlacesFeatures

不支持任何地点功能。

QGeoServiceProvider.OnlinePlacesFeature

支持在线地点。

QGeoServiceProvider.OfflinePlacesFeature

支持离线地点。

QGeoServiceProvider.SavePlaceFeature

支持保存地点。

QGeoServiceProvider.RemovePlaceFeature

支持移除或删除地点。

QGeoServiceProvider.SaveCategoryFeature

支持保存类别。

QGeoServiceProvider.RemoveCategoryFeature

支持移除或删除类别。

QGeoServiceProvider.PlaceRecommendationsFeature

支持搜索与另一个地点相似的推荐地点。

QGeoServiceProvider.SearchSuggestionsFeature

支持搜索建议。

QGeoServiceProvider.LocalizedPlacesFeature

支持返回本地化的地点数据。

QGeoServiceProvider.NotificationsFeature

支持地点和类别变更的通知。

QGeoServiceProvider.PlaceMatchingFeature

支持匹配来自两个不同地理服务提供商的地点。

QGeoServiceProvider.AnyPlacesFeatures

匹配提供任何地点功能的地理服务提供商。

class NavigationFeature

(继承自 enum.Flag) 描述地理服务提供商支持的导航功能。

常量

描述

QGeoServiceProvider.NoNavigationFeatures

不支持导航功能。

QGeoServiceProvider.OnlineNavigationFeature

支持在线导航。

QGeoServiceProvider.OfflineNavigationFeature

支持离线导航。

QGeoServiceProvider.AnyNavigationFeatures

匹配提供任何导航功能的地理服务提供商。

__init__(providerName[, parameters=QVariantMap()[, allowExperimental=false]])
Parameters:
  • providerName – str

  • parameters – 字典,键类型为 .QString,值类型为 QVariant。

  • allowExperimental – 布尔值

构建一个QGeoServiceProvider,其后端名称为providerName,并使用提供的parameters

如果多个插件具有相同的providerName,将使用报告的最高providerVersion()的插件。

如果 allowExperimental 为 true,则可以使用标记为实验性的插件。默认情况下,不考虑实验性插件。

如果没有能够加载与providerName匹配的插件,那么error()errorString()将提供有关此情况的详细信息。

注意

在将parameters列表传递给待加载的提供者插件之前,列表会被过滤,以避免与不相关的提供者插件共享插件特定的参数。插件特定的参数键必须以提供者名称作为前缀(例如here.app_id)。

static availableServiceProviders()
Return type:

字符串列表

返回可用服务提供者的名称列表,用于与QGeoServiceProvider构造函数一起使用。

error()
Return type:

错误

返回一个错误代码,描述在此类执行的上一个操作期间发生的错误。

errorString()
Return type:

字符串

返回一个字符串,描述由该类执行的最后一次操作期间发生的错误。

geocodingError()
Return type:

错误

返回一个错误代码,描述在最后一次尝试创建地理编码管理器时发生的错误。

geocodingErrorString()
Return type:

字符串

返回一个字符串,描述在最后一次尝试创建地理编码管理器时发生的错误。

geocodingFeatures()
Return type:

GeocodingFeature的组合

返回地理服务提供商支持的地理编码功能。

geocodingManager()
Return type:

QGeoCodingManager

返回由服务提供商提供的QGeoCodingManager

如果服务提供商不提供任何地理编码服务,此函数将返回 None

此函数将在首次调用时尝试构建一个QGeoCodingManager实例。如果尝试成功,QGeoCodingManager将被缓存,否则每次调用此函数都会尝试构建一个QGeoCodingManager实例,直到构建成功。

QGeoCodingManager 由这个 QGeoServiceProvider 拥有,不应单独删除。用户应假设删除 QGeoServiceProvider 会使此方法返回的指针无效。

调用此函数后,error()errorString() 将报告在构建 QGeoCodingManager 过程中发生的任何错误。

mappingError()
Return type:

错误

返回一个错误代码,描述在最后一次尝试创建映射管理器时发生的错误。

mappingErrorString()
Return type:

字符串

返回一个字符串,描述在最后一次尝试创建映射管理器时发生的错误。

mappingFeatures()
Return type:

MappingFeature的组合

返回地理服务提供商支持的映射功能。

navigationError()
Return type:

错误

返回一个错误代码,描述在最后一次尝试创建导航管理器时发生的错误。

navigationErrorString()
Return type:

字符串

返回一个字符串,描述在最后一次尝试创建导航管理器时发生的错误。

navigationFeatures()
Return type:

NavigationFeature的组合

返回地理服务提供商支持的导航功能。

placeManager()
Return type:

QPlaceManager

返回由服务提供商提供的QPlaceManager

此函数将在首次调用时尝试构建一个QPlaceManager实例。如果尝试成功,QPlaceManager将被缓存,否则每次调用此函数都会尝试构建一个QPlace实例,直到构建成功。

QGeoPlaceManager 由这个 QGeoServiceProvider 拥有,不应单独删除。用户应假设删除 QGeoServiceProvider 会使此方法返回的指针无效。

调用此函数后,error()errorString() 将报告在构建 QPlaceManager 期间发生的任何错误。

placesError()
Return type:

错误

返回一个错误代码,描述在最后一次尝试创建地点管理器时发生的错误。

placesErrorString()
Return type:

字符串

返回一个字符串,描述在最后一次尝试创建地点管理器时发生的错误。

placesFeatures()
Return type:

PlacesFeature的组合

返回地理服务提供商支持的地点功能。

routingError()
Return type:

错误

返回一个错误代码,描述在最后一次尝试创建路由管理器时发生的错误。

routingErrorString()
Return type:

字符串

返回一个字符串,描述在最后一次尝试创建路由管理器时发生的错误。

routingFeatures()
Return type:

RoutingFeature的组合

返回地理服务提供商支持的路由功能。

routingManager()
Return type:

QGeoRoutingManager

返回服务提供商提供的QGeoRoutingManager

如果服务提供商不提供任何地理路由服务,此函数将返回 None

此函数将在首次调用时尝试构建一个QGeoRoutingManager实例。如果尝试成功,QGeoRoutingManager将被缓存,否则每次调用此函数都会尝试构建一个QGeoRoutingManager实例,直到构建成功。

QGeoRoutingManager 由这个 QGeoServiceProvider 拥有,不应单独删除。用户应假设删除 QGeoServiceProvider 会使此方法返回的指针无效。

调用此函数后,error()errorString() 将报告在构建 QGeoRoutingManager 期间发生的任何错误。

setAllowExperimental(allow)
Parameters:

allow – 布尔值

设置是否在为此服务提供者定位正确的插件库时考虑实验性插件为allow

重要提示:这将销毁此服务提供者实例持有的任何现有管理器。在调用此方法后,您应确保不要尝试使用之前检索到的任何指针。

setLocale(locale)
Parameters:

localeQLocale

设置此服务提供者使用的区域设置为locale。如果相关功能(参见LocalizedMappingFeature等),这将更改提供者数据的语言、单位和其他区域特定的属性。

setParameters(parameters)
Parameters:

parameters – 字典,键类型为 .QString,值类型为 QVariant。

设置用于为此服务提供者构建各个管理器类的参数为parameters

在将parameters列表传递给待加载的服务提供商之前,列表会被过滤,以避免将特定于提供商的参数与不相关的服务提供商共享。特定于提供商的参数键必须以提供商名称作为前缀(例如here.app_id)。

重要提示:这将销毁此服务提供者实例持有的任何现有管理器。在调用此方法后,您应确保不要尝试使用之前检索到的任何指针。

setQmlEngine(engine)
Parameters:

引擎QQmlEngine