Тип QML ExtendedAttributes
Тип ExtendedAttributes хранит дополнительные данные о месте. Подробнее...
| Оператор импорта: | import QtLocation 5.15 |
| С момента: | QtLocation 5.5 |
| Инициализирует: | QQmlPropertyMap |
Сигналы
- void valueChanged(строка ключ, значение значение)
Методы
- значение 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.
Документация по сигналам
пусто valueChanged(строка ключ, значение значение)
Этот сигнал генерируется при изменении набора атрибутов. ключ соответствует значению, которое было изменено.
Соответствующая обработчик — onValueChanged.
Примечание: Соответствующая обработчик — onValueChanged.
Документация по методам
значение keys()
Возвращает массив ключей атрибутов места, хранящихся в настоящее время в карте.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qml-qtlocation-extendedattributes.html