GeocodeModel QML 类型
GeocodeModel 类型为地理信息相关的搜索操作提供支持。 更多...
导入语句 | import QtLocation 6.7 |
自 | QtLocation 5.5 |
属性
- autoUpdate : bool
- bounds : geoshape
- count : int
- error : enumeration
- errorString : string
- limit : int
- offset : int
- plugin : Plugin
- query : QVariant
- status : enumeration
信号
方法
详细描述
GeocodeModel 类型用作模型/视图组合的一部分,以匹配地址或搜索字符串与地理位置。地理位置的生成、使用或显示方式由附加到 GeocodeModel 的任何视图(例如 MapItemView 或 ListView)决定。
类似于 Map 和 RouteModel,GeocodeModel 工作所需的所有数据都来自服务插件。这包含在 plugin 属性中,并且必须在 GeocodeModel 执行任何有用工作之前设置此属性。
设置插件后,可以使用 query 属性指定要匹配的地址或搜索字符串。如果启用了 autoUpdate,则模型将自动更新其输出。否则,可以使用 update 方法。默认情况下,禁用了 autoUpdate。
GeocodeModel 中存储和返回的数据由 Location 对象组成,以具有“locationData”角色名的列表形式。有关其结构和大致的详细信息,请参阅 Location 的文档。
示例用法
以下代码段分为两部分,首先声明对象,其次是使用该对象的简短程序代码。我们将geocodeModel的autoUpdate属性设置为false,一旦查询设置好就调用update方法。在这种情况下,因为我们使用了query中的字符串值,即使启用了autoUpdate,也只会发生一次更新。然而,如果我们提供了一个Address对象,我们可能在设置其属性时意外触发多次请求。
Plugin {
id: aPlugin
}
GeocodeModel {
id: geocodeModel
plugin: aPlugin
autoUpdate: false
}
{ geocodeModel.query = "53 Brandl St, Eight Mile Plains, Australia" geocodeModel.update() }
属性文档
autoUpdate : bool |
此属性控制模型是否对其附加查询的更改自动更新。此属性的默认值是false。
如果将此值设置为'true'并使用Address或coordinate作为查询,请注意,该对象的任何属性更改都会触发新的请求。如果您在自动更新已启用的情况下调整对象的大量属性,这可能会生成大量无效(以后会被丢弃)的请求。
bounds : geoshape |
此属性包含用于限制结果为该区域内的结果的边界区域。如果查询只填写了一部分,这将特别有用,因为服务将尝试(反向)查找指定数据的所有匹配项。
接受类型为georectangle和geocircle。
count : int |
此属性包含模型当前有多少个位置。在其他用途中,您可以使用此值通过GeocodeModel::get方法访问位置。
error : enumeration |
此只读属性包含地理编码请求的最新错误值。
- GeocodeModel.NoError - 未发生错误。
- GeocodeModel.CombinationError - 在从多个来源组合结果时发生错误。
- GeocodeModel.CommunicationError - 与服务提供商通信时发生错误。
- GeocodeModel.EngineNotSetError - 模型的插件属性未设置,或者没有与插件关联的地理编码管理器。
- GeocodeModel.MissingRequiredParameterError - 未指定必需的参数。
- GeocodeModel.ParseError - 服务提供商的响应格式不可识别。
- GeocodeModel.UnknownError - 发生了一个不适用于其他任何类别的错误。
- GeocodeModel.UnknownParameterError - 插件没有识别出它给出的参数之一。
- GeocodeModel.UnsupportedOptionError - 请求的操作不受地理编码提供程序的支持。这可能发生在加载的引擎不支持特定的地理编码请求,如反向地理编码的情况下。
errorString : string |
这个只读属性保存了最新地理编码错误的文本表示。如果没有发生错误或模型已被重置,则返回空字符串。
如果出现错误但没有关联的文本表示,也可能返回空字符串。
limit : int |
offset : int |
此属性指示不返回结果中前'offset'个数字。限制(limit)和offset值仅适用于免费字符串地理编码(即在使用搜索查询中的地址或坐标时,不考虑这些值)。
限制和offset结果可以一起使用来实现分页。
query : QVariant |
此属性包含地理编码请求的数据。该属性接受三种类型的查询,这些查询确定数据和要执行的操作类型
- 地址 - 地理编码(地址到坐标)
- coordinate - 反向地理编码(坐标到地址)
- 字符串 - 地理编码(地址到坐标)
status : enumeration |
此只读属性保存模型当前状态。
- GeocodeModel.Null - 未发出地理编码请求或已调用reset。
- GeocodeModel.Ready - 地理编码请求已成功完成。
- GeocodeModel.Loading - 已发出地理编码请求但尚未完成。
- GeocodeModel.Error - 发生地理编码错误,详细信息见error和errorString。
信号文档
locationsChanged() |
方法文档
void cancel() |
取消所有挂起的请求并清除错误。模型状态将被设置为GeocodeModel.Null或GeocodeModel.Ready。
void reset() |
重置模型。所有位置数据将清除,未完成的请求将中止,并清除可能的错误。模型状态将设置为GeocodeModel.Null
void update() |
指示GeocodeModel更新其数据。当autoUpdate被禁用时,此操作最为有用,以便在查询发生变化时强制刷新。
© 2024 Qt公司。本文件包含的文档贡献版权属于各自的所有者。本文件提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证 version 1.3 的条款提供许可的。Qt和相关的标志是芬兰及其在其他国家和地区的 The Qt Company Ltd 的商标。所有其他商标均属于各自所有者的财产。