PySide6.QtLocation.QGeoServiceProvider¶
- class QGeoServiceProvider¶
QGeoServiceProvider
类聚合了提供地理信息的服务的访问。更多…概要¶
方法¶
def
__init__()
def
error()
def
errorString()
def
geocodingError()
def
mappingError()
def
placeManager()
def
placesError()
def
placesFeatures()
def
routingError()
def
routingManager()
def
setLocale()
def
setParameters()
def
setQmlEngine()
静态函数¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
地图和导航API允许人们访问各种地理信息,包括执行地理编码、路线规划和地图显示的功能。
QGeoServiceProvider
集成了由单一供应商提供的这些服务的访问。可以混合和匹配不同领域的服务提供商,这样来自一个服务提供商的地理编码管理器可以与来自另一个服务提供商的地理路由管理器一起使用。
除非客户端能够验证不同服务提供的数据是兼容的,否则不建议这样做,因为基础数据集的差异可能会导致服务之间的严重不一致。
QGeoServiceProvider
的子类保证它们提供的不同服务是互操作的。每个服务提供商必须遵循其服务特定参数名称/键的命名约定。他们使用提供商名称作为所有参数名称的前缀。当加载提供商时,只有那些参数名称以提供商名称开头的参数才会被传递。这避免了与其他插件共享敏感参数,如机密的
token
或app_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
匹配提供任何地点功能的地理服务提供商。
(继承自
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
构造函数一起使用。返回一个错误代码,描述在此类执行的上一个操作期间发生的错误。
- errorString()¶
- Return type:
字符串
返回一个字符串,描述由该类执行的最后一次操作期间发生的错误。
返回一个错误代码,描述在最后一次尝试创建地理编码管理器时发生的错误。
- geocodingErrorString()¶
- Return type:
字符串
返回一个字符串,描述在最后一次尝试创建地理编码管理器时发生的错误。
- geocodingFeatures()¶
- Return type:
返回地理服务提供商支持的地理编码功能。
- geocodingManager()¶
- Return type:
返回由服务提供商提供的
QGeoCodingManager
。如果服务提供商不提供任何地理编码服务,此函数将返回
None
。此函数将在首次调用时尝试构建一个
QGeoCodingManager
实例。如果尝试成功,QGeoCodingManager
将被缓存,否则每次调用此函数都会尝试构建一个QGeoCodingManager
实例,直到构建成功。QGeoCodingManager
由这个QGeoServiceProvider
拥有,不应单独删除。用户应假设删除QGeoServiceProvider
会使此方法返回的指针无效。调用此函数后,
error()
和errorString()
将报告在构建QGeoCodingManager
过程中发生的任何错误。返回一个错误代码,描述在最后一次尝试创建映射管理器时发生的错误。
- mappingErrorString()¶
- Return type:
字符串
返回一个字符串,描述在最后一次尝试创建映射管理器时发生的错误。
- mappingFeatures()¶
- Return type:
返回地理服务提供商支持的映射功能。
- Return type:
返回一个错误代码,描述在最后一次尝试创建导航管理器时发生的错误。
- Return type:
字符串
返回一个字符串,描述在最后一次尝试创建导航管理器时发生的错误。
- Return type:
返回地理服务提供商支持的导航功能。
- placeManager()¶
- Return type:
返回由服务提供商提供的
QPlaceManager
。此函数将在首次调用时尝试构建一个
QPlaceManager
实例。如果尝试成功,QPlaceManager
将被缓存,否则每次调用此函数都会尝试构建一个QPlace
实例,直到构建成功。QGeoPlaceManager 由这个
QGeoServiceProvider
拥有,不应单独删除。用户应假设删除QGeoServiceProvider
会使此方法返回的指针无效。调用此函数后,
error()
和errorString()
将报告在构建QPlaceManager
期间发生的任何错误。返回一个错误代码,描述在最后一次尝试创建地点管理器时发生的错误。
- placesErrorString()¶
- Return type:
字符串
返回一个字符串,描述在最后一次尝试创建地点管理器时发生的错误。
- placesFeatures()¶
- Return type:
返回地理服务提供商支持的地点功能。
返回一个错误代码,描述在最后一次尝试创建路由管理器时发生的错误。
- routingErrorString()¶
- Return type:
字符串
返回一个字符串,描述在最后一次尝试创建路由管理器时发生的错误。
- routingFeatures()¶
- Return type:
返回地理服务提供商支持的路由功能。
- routingManager()¶
- Return type:
返回服务提供商提供的
QGeoRoutingManager
。如果服务提供商不提供任何地理路由服务,此函数将返回
None
。此函数将在首次调用时尝试构建一个
QGeoRoutingManager
实例。如果尝试成功,QGeoRoutingManager
将被缓存,否则每次调用此函数都会尝试构建一个QGeoRoutingManager
实例,直到构建成功。QGeoRoutingManager
由这个QGeoServiceProvider
拥有,不应单独删除。用户应假设删除QGeoServiceProvider
会使此方法返回的指针无效。调用此函数后,
error()
和errorString()
将报告在构建QGeoRoutingManager
期间发生的任何错误。- setAllowExperimental(allow)¶
- Parameters:
allow – 布尔值
设置是否在为此服务提供者定位正确的插件库时考虑实验性插件为
allow
。重要提示:这将销毁此服务提供者实例持有的任何现有管理器。在调用此方法后,您应确保不要尝试使用之前检索到的任何指针。
设置此服务提供者使用的区域设置为
locale
。如果相关功能(参见LocalizedMappingFeature
等),这将更改提供者数据的语言、单位和其他区域特定的属性。- setParameters(parameters)¶
- Parameters:
parameters – 字典,键类型为 .QString,值类型为 QVariant。
设置用于为此服务提供者构建各个管理器类的参数为
parameters
。在将
parameters
列表传递给待加载的服务提供商之前,列表会被过滤,以避免将特定于提供商的参数与不相关的服务提供商共享。特定于提供商的参数键必须以提供商名称作为前缀(例如here.app_id
)。重要提示:这将销毁此服务提供者实例持有的任何现有管理器。在调用此方法后,您应确保不要尝试使用之前检索到的任何指针。
- setQmlEngine(engine)¶
- Parameters:
引擎 –
QQmlEngine