Тип QML ExtendedAttributes
Тип ExtendedAttributes хранит дополнительные данные о местоположении. Подробнее...
| Оператор импорта: | import QtLocation 5.11 |
| С момента: | QtLocation 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 используются только в контексте местоположений. Невозможно напрямую создать экземпляр 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(строка 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.11/qml-qtlocation-extendedattributes.html