本页内容

Plugin QML Type

该插件类型描述了一个基于位置的服务插件。更多内容...

Import Statement: import QtLocation 6.12
Since: QtLocation 5.5

属性

方法

详细说明

“Plugin” 类型用于声明式地指定在 Location API 的各种任务中应使用哪一个可用的 GeoServices 插件。Map 、RouteModel 和GeocodeModel 等类型以及其他多种类型都会使用插件。

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

创建 Plugin 对象时,该对象处于“未关联”状态,未与任何实际的服务插件相关联。一旦通过设置其name 、preferred 或required 属性接收了信息,它将选择一个合适的服务插件进行关联。Plugin 对象只能关联一次;若要使用多个插件,请创建多个 Plugin 对象。

使用示例

以下代码片段展示了通过设置required 和preferred 属性来创建一个 Plugin 对象。该 Plugin 将连接到首个同时支持映射和地理编码的插件,并且会优先选择名称为“here”或“osm”的插件。

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

属性文档

allowExperimental : bool

该属性用于指定是否可以使用实验性插件。

availableServiceProviders : stringlist

该属性包含所有可用服务插件名称的列表。如果name 和required 提供的控件无法满足您的需求,则可用于手动枚举可用插件。

isAttached : bool

该属性用于指示该“插件”项是否已附加到某个地理服务提供商插件上。

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 ,区域设置列表始终为空。

以下代码演示了如何设置单个和多个语言环境:

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

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

name : string

该属性存储插件的名称。设置此属性后,该插件将仅附加到名称完全与此相同的插件上。required 的值将被忽略。

parameters : list<PluginParameter> [default]

该属性包含插件参数的列表。

preferred : stringlist

该属性包含一个按优先级排序的首选插件名称列表,在检查其他可用插件之前,系统会先检查这些插件是否具备required 中设置的所需功能集。

required : enumeration

该属性包含Plugin对象在选择要附加的服务插件时所需的特征集。如果设置了name 属性,则此属性无效。

可以设置以下任一值,或多个值的按位组合:

  • Plugin.NoFeatures
  • Plugin.GeocodingFeature
  • Plugin.ReverseGeocodingFeature
  • Plugin.RoutingFeature
  • Plugin.MappingFeature
  • Plugin.AnyPlacesFeature

方法文档

bool supportsGeocoding(GeocodingFeatures features)

该方法返回一个布尔值,用于指示地理服务提供商插件是否支持指定的features 集合。如果所有指定的features 均受支持,则返回True ;否则返回false 。

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

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

bool supportsMapping(MappingFeatures features)

该方法返回一个布尔值,用于指示地理服务提供商插件是否支持指定的features 集合。如果所有指定的features 均受支持,则返回true;否则返回false。

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

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

bool supportsNavigation(NavigationFeatures features)

该方法返回一个布尔值,用于指示地理服务提供商插件是否支持指定的features 集合。如果所有指定的features 均受支持,则返回true;否则返回false。

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

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

bool supportsPlaces(PlacesFeatures features)

该方法返回一个布尔值,用于指示地理服务提供商插件是否支持指定的features 集合。如果所有指定的features 均受支持,则返回true;否则返回false。

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

Feature描述
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 集合。如果所有指定的features 均受支持,则返回true;否则返回false。

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

Feature描述
Plugin.NoRoutingFeatures不支持任何路线规划功能。
Plugin.OnlineRoutingFeature支持在线路线规划。
Plugin.OfflineRoutingFeature支持离线导航。
Plugin.LocalizedRoutingFeature支持返回包含本地化地址和路线说明的路线。
Plugin.RouteUpdatesFeature支持根据当前位置更新现有路线。
Plugin.AlternativeRoutesFeature支持返回替代路线。
Plugin.ExcludeAreasRoutingFeature支持指定返回的路线不得经过的区域。
Plugin.AnyRoutingFeatures匹配提供任意路由功能的地理服务提供商。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.