Тип QML ExtendedAttributes
Тип ExtendedAttributes хранит дополнительные данные о объекте Place. Подробнее...
| Заявление об импорте: | import QtLocation 5.3 |
| С момента: | Qt Location 5.5 |
| Создаёт: | QQmlPropertyMap |
Сигналы
- void valueChanged(строка key, значение value)
Методы
- значение keys()
Подробное описание
Тип ExtendedAttributes представляет собой карту PlaceAttributes. Для доступа к атрибутам в карте используйте метод keys() для получения списка ключей, хранящихся в карте, и оператор [] для доступа к элементам PlaceAttribute.
Ниже приведены стандартные ключи, определенные API. Реализации плагинов могут определять дополнительные ключи. Пользовательские ключи должны быть квалифицированы уникальным префиксом, чтобы избежать конфликтов.
| ключ | описание |
|---|---|
| openingHours | Часы работы места |
| payment | Типы платежей, принимаемые местом, например, Visa, Mastercard. |
| x_provider | Имя поставщика, от которого получены данные о месте |
| x_id_<provider> (например, x_id_here) | Альтернативный идентификатор, который идентифицирует место с точки зрения указанного поставщика. |
Некоторые плагины могут вообще не поддерживать атрибуты, другие — только определенный набор, а другие — динамически изменяющийся набор атрибутов со временем или даже разрешение атрибутов, произвольно определяемых приложением-клиентом. Атрибуты также могут различаться в зависимости от места, например, одно место может иметь часы работы, а другое — нет. Обратитесь к справочным данным плагина для получения подробной информации.
Некоторые атрибуты могут быть не предназначены для чтения конечными пользователями; поле метки таких атрибутов пусто, чтобы указать этот факт.
Примечание: экземпляры ExtendedAttributes используются только в контексте объектов Place. Невозможно создать экземпляр ExtendedAttributes напрямую или повторно назначить свойство Place's ExtendedAttributes. Изменение ExtendedAttributes может быть выполнено только через Javascript.
Следующий пример демонстрирует, как получить доступ ко всем PlaceAttributes и вывести их в консоль:
import QtPositioning 5.5
import QtLocation 5.6
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 5.3; PlaceAttribute {}', place);
smokingAttrib.label = "Smoking Allowed"
smokingAttrib.text = "No"
place.extendedAttributes.smoking = smokingAttrib;
//modify an existing attribute
place.extendedAttributes.smoking.text = "Yes" См. также PlaceAttribute и QQmlPropertyMap.
Документация по сигналам
void valueChanged(строка key, значение value)
Этот сигнал излучается при изменении набора атрибутов. key — это ключ, соответствующий изменённому value.
Соответствующий обработчик — onValueChanged.
Документация по методам
значение keys()
Возвращает массив текущих ключей атрибутов места, хранящихся в карте.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qml-qtlocation-extendedattributes.html