Тип ExtendedAttributes QML
Тип ExtendedAttributes хранит дополнительные данные о месте. Подробнее...
| Заявление об импорте: | import QtLocation 5.14 |
| С: | QtLocation 5.5 |
| Инициализирует: | QQmlPropertyMap |
Сигналы
- void valueChanged(ключ, variant значение)
Методы
- variant keys()
Подробное описание
Тип ExtendedAttributes представляет собой карту PlaceAttributes. Для доступа к атрибутам в карте используйте метод keys(), чтобы получить список ключей, хранящихся в карте, и оператор [] для доступа к элементам PlaceAttribute.
Ниже приведены стандартные ключи, определенные API. Реализации плагинов могут определять дополнительные ключи. Пользовательские ключи должны быть квалифицированы уникальным префиксом, чтобы избежать конфликтов.
| ключ | описание |
|---|---|
| openingHours | Режим работы места |
| payment | Типы платежей, принимаемые местом, например, Visa, Mastercard. |
| x_provider | Название поставщика, из которого получено место |
| x_id_<provider> (например, x_id_here) | Альтернативный идентификатор, который определяет место с точки зрения указанного поставщика. |
Некоторые плагины могут вообще не поддерживать атрибуты, другие могут поддерживать только определенный набор, а другие могут поддерживать динамически изменяемый набор атрибутов со временем или даже допускать произвольное определение атрибутов приложением-клиентом. Атрибуты также могут различаться в зависимости от места, например, одно место может иметь режим работы, а другое — нет. Обратитесь к ссылкам на плагины для получения подробностей.
Некоторые атрибуты могут быть не предназначены для чтения конечными пользователями; поле метки таких атрибутов пустое, чтобы указать этот факт.
Примечание: Экземпляры ExtendedAttributes используются только в контексте мест. Невозможно напрямую создать экземпляр ExtendedAttributes или переназначить свойство 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(ключ, variant значение)
Этот сигнал генерируется при изменении набора атрибутов. ключ соответствует значению, которое было изменено.
Соответствующий обработчик — onValueChanged.
Документация по методам
variant keys()
Возвращает массив текущих ключей атрибутов места, хранящихся в карте.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qml-qtlocation-extendedattributes.html