插件 QML 类型

Plugin 类型用于描述一个基于位置的地理位置服务插件。 更多...

导入语句import QtLocation 6.7
QtLocation 5.5

属性

方法

详细说明

Plugin 类型用于声明性地指定在位置 API 中用于各种任务的可用的地理位置服务插件。插件被 Map、RouteModel 和 GeocodeModel 类型以及各种其他类型所使用。

系统识别的插件具有一个 name 属性,这是一个简单的字符串,通常表示插件从中检索数据的服务名称。它们还具有各种功能,可以使用 supportsRouting()、supportsGeocoding()、supportsMapping()、supportsPlaces() 和 supportsNavigation() 方法进行测试。

当创建 Plugin 对象时,它被 "division" 并且不与任何实际的服务插件相关联。一旦它通过设置其 namepreferredrequired 属性接收信息,它将选择一个合适的插件来附加。Plugin 对象只能附加一次;要使用多个插件,请创建多个 Plugin 对象。

示例用法

以下示例展示了如何使用必需的对象属性 required 和首选属性 preferred 创建 Plugin 对象。此 Plugin 将附加到第一个支持地图和地理编码的插件,并优先选择名为 "here" 或 "osm" 的插件。

Plugin {
    id: plugin
    preferred: ["here", "osm"]
    required: Plugin.AnyMappingFeatures | Plugin.AnyGeocodingFeatures
}

属性文档

allowExperimental : bool

此属性表示是否可以使用实验性插件。


availableServiceProviders : stringlist

此属性包含所有可用服务插件名称的列表。如果名称和必需属性提供的控制不满足您的需求,则可以使用此列表手动列出可用的插件。


isAttached : bool

此属性表示 Plugin 对象是否附加到地理服务提供商插件。


locales : stringlist

此属性包含首选插件区域的有序列表。如果第一个区域无法满足要求,则后端将回退到使用第二个,依此类推。默认情况下, locales 属性包含系统区域。

区域指定为具有以下格式的字符串:"language[_script][_country]" 或 "C",其中

  • language 是小写、两位的、ISO 639 语言代码,
  • script 是大写、四位、ISO 15924 脚本代码,
  • country 是大写、两位或三位 ISO 3166 国家代码(也可以是联合国定义的 "419"),
  • "C" 区域的行为与 English/UnitedStates 的 QLocale 相同。

如果指定的第一个区域无法满足要求,则 Plugin 将回退到下一个,依此类推。某些 Plugin 后端可能不支持严格定义的区域集。一个任意例子是法国的一些 Place 可能具有法语和英语本地化,而美国的某些地区可能只提供英语本地化。在上面的场景中,支持的区域集取决于搜索位置。

如果 Plugin 无法满足任何首选区域,则管理器将回退到使用特定后端支持的语言。

对于不支持区域的 Plugin, locales 列表始终为空。

以下代码演示了如何设置单个和多个区域

//single locale
Plugin {
    locales: "en_US"
}

//multiple locales
Plugin {
    locales: ["fr_FR","en_US"]
}

name : string

此属性包含插件的名称。设置此属性将导致 Plugin 仅附加到具有 exactly 此名称的插件。将忽略 required 的值。


parameters : list<PluginParameter> [default]

此属性包含插件参数列表。


preferred : stringlist

此属性包含首选插件名称的有序列表,在检查任何其他可用插件之前,将检查在 required 中设置的必需特性集。


required : enumeration

此属性包含将附加到的服务插件所必需的功能集合。如果设置了 name 属性,则此属性无效果。

可以设置以下值或多个值的位运算组合

  • Plugin.NoFeatures
  • Plugin.GeocodingFeature
  • Plugin.ReverseGeocodingFeature
  • Plugin.RoutingFeature
  • 插件.映射功能
  • 插件.任何地点功能

方法文档

bool supportsGeocoding(GeocodingFeatures features)

此方法返回一个布尔值,指示指定的功能集是否受地理服务提供商插件的支撑。如果所有指定的 features 都受支撑,则返回 True;否则返回 false

features 参数可以是以下特征的任意组合标志

特征描述
Plugin.NoGeocodingFeatures不支持地理编码功能。
Plugin.OnlineGeocodingFeature支持在线地理编码。
Plugin.OfflineGeocodingFeature支持离线地理编码。
Plugin.ReverseGeocodingFeature支持反向地理编码。
Plugin.LocalizedGeocodingFeature支持返回带有本地化地址的地理编码结果。
Plugin.AnyGeocodingFeatures匹配提供任何地理编码功能的地理服务提供商。

bool supportsMapping(MappingFeatures features)

此方法返回一个布尔值,指示指定的功能集是否受地理服务提供商插件的支撑。如果所有指定的 features 都受支撑,则返回 True;否则返回 false。

features 参数可以是以下特征的任意组合标志

特征描述
Plugin.NoMappingFeatures不支持映射功能。
Plugin.OnlineMappingFeature支持在线映射。
Plugin.OfflineMappingFeature支持离线映射。
Plugin.LocalizedMappingFeature支持返回本地化地图数据。
Plugin.AnyMappingFeatures匹配提供任何映射功能的地理服务提供商。

bool supportsNavigation(NavigationFeatures features)

此方法返回一个布尔值,指示指定的功能集是否受地理服务提供商插件的支撑。如果所有指定的 features 都受支撑,则返回 True;否则返回 false。

features 参数可以是以下特征的任意组合标志

特征描述
Plugin.NoNavigationFeatures不支持导航功能。
Plugin.OnlineNavigationFeature支持在线导航。
Plugin.OfflineNavigationFeature支持离线导航。
Plugin.AnyNavigationFeatures匹配提供任何导航功能的地理服务提供商。

bool supportsPlaces(PlacesFeatures features)

此方法返回一个布尔值,指示指定的功能集是否受地理服务提供商插件的支撑。如果所有指定的 features 都受支撑,则返回 True;否则返回 false。

features 参数可以是以下特征的任意组合标志

特征描述
Plugin.NoPlacesFeatures不支持地点功能。
Plugin.OnlinePlacesFeature支持在线地点。
Plugin.OfflinePlacesFeature支持离线地点。
Plugin.SavePlaceFeature支持保存类别。
Plugin.RemovePlaceFeature支持移除或删除地点。
Plugin.PlaceRecommendationsFeature支持搜索与另一个地点类似的其他地点。
Plugin.SearchSuggestionsFeature支持搜索建议。
Plugin.LocalizedPlacesFeature支持返回本地化地点数据。
Plugin.NotificationsFeature支持地点和类别变化的提醒。
Plugin.PlaceMatchingFeature支持从两个不同的地理服务提供商中匹配地点。
Plugin.AnyPlacesFeatures匹配提供任何地点功能的地理服务提供商。

bool supportsRouting(RoutingFeatures features)

此方法返回一个布尔值,指示指定的功能集是否受地理服务提供商插件的支撑。如果所有指定的 features 都受支撑,则返回 True;否则返回 false。

features 参数可以是以下特征的任意组合标志

特征描述
Plugin.NoRoutingFeatures不支持路线功能。
Plugin.OnlineRoutingFeature支持在线路线。
Plugin.OfflineRoutingFeature支持离线路线。
Plugin.LocalizedRoutingFeature支持返回带有本地化地址和指示的路线。
Plugin.RouteUpdatesFeature支持基于当前位置更新现有路线。
Plugin.AlternativeRoutesFeature支持返回替代路线。
Plugin.ExcludeAreasRoutingFeature支持指定返回路线不得穿越的区域。
Plugin.AnyRoutingFeatures匹配提供任何路由功能的地理信息服务提供商。

© 2024 The Qt Company Ltd。本文档中包含的贡献文档的版权归其各自的拥有者。提供的文档在此基于GNU自由文档许可证版本1.3 licensed,由自由软件基金会发布。Qt和相应的标志是芬兰和/或其他国家的The Qt Company Ltd的商标。商标。所有其他商标均为其各自所有者的财产。