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