扩展属性 QML 类型

The ExtendedAttributes type holds additional data about a Place. More...

导入语句import QtLocation 6.7
SinceQtLocation 5.5
Instantiates QQmlPropertyMap

信号

方法

详细描述

The ExtendedAttributes type is a map of placeAttributes. To access attributes in the map use the keys() method to get the list of keys stored in the map and use the [] operator to access the placeAttribute items.

The following are standard keys that are defined by the API. Plugin implementations are free to define additional keys. Custom keys should be qualified by a unique prefix to avoid clashes.

keydescription
openingHours场所的交易时间
payment场所接受的支付类型,例如 visa, mastercard。
x_provider场所数据来源的提供者名称
x_id_<provider> (for example x_id_here)从指定提供者视角识别场所的替代标识符。

某些插件可能根本不支持属性,有些可能只支持一组特定的属性,还有可能随着时间的推移支持动态变化的属性集,甚至允许客户端应用程序任意定义属性。属性也可能因场所而异,例如一个地方可能有营业时间而另一个没有。有关详细信息,请参阅插件参考

某些属性可能不打算由最终用户读取,这些属性的标签字段是空的以表示这一点。

注意:ExtendedAttributes 实例始终在 Place 的上下文中使用。无法直接创建 ExtendedAttributes 实例或重新分配 Place 的 ExtendedAttributes 属性。只有通过 JavaScript 才能修改 ExtendedAttributes。

以下示例显示如何访问所有 placeAttributes 并将它们打印到控制台

import QtPositioning
import QtLocation

function printExtendedAttributes(extendedAttributes) {
    var keys = extendedAttributes.keys();
    for (var i = 0; i < keys.length; ++i) {
        var key = keys[i];
        if (extendedAttributes[key].label !== "")
            console.log(extendedAttributes[key].label + ": " + extendedAttributes[key].text);
    }
}

以下示例显示如何分配和修改一个属性

    //assign a new attribute to a place
    var smokingAttrib = Qt.createQmlObject('import QtLocation; PlaceAttribute {}', place);
    smokingAttrib.label = "Smoking Allowed"
    smokingAttrib.text = "No"
    place.extendedAttributes.smoking = smokingAttrib;

    //modify an existing attribute
    place.extendedAttributes.smoking.text = "Yes"

另请参阅placeAttributeQQmlPropertyMap

信号文档

void valueChanged(string key, variant value)

该信号在属性集合改变时发出。 key 是改变后的 value 对应的键。

相应的事件处理器是 onValueChanged

注意:相应的事件处理器是 onValueChanged


方法文档

variant keys()

返回在当前映射中存储的放置属性键的数组。


© 2024 Qt 公司有限公司。本文件内包含的文档贡献归各自所有者所有版权。在此提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条件许可的。Qt 和相应的标志是芬兰及其它国家/地区的 Qt 公司的商标。所有其他商标均为其各自所有者的财产。