Spec-Zone.ru › Qt 5.12

Тип QML ExtendedAttributes

Тип ExtendedAttributes хранит дополнительные данные о объекте Place. Подробнее...

Заявление об импорте: import QtLocation 5.12
С момента: QtLocation 5.5
Создаёт: QQmlPropertyMap
  • Список всех членов, включая унаследованные

Сигналы

  • void valueChanged(string key, variant value)

Методы

  • variant 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(string 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.12/qml-qtlocation-extendedattributes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API