Spec-Zone.ru › Qt 5.13

Тип 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

Spec-Zone.ru

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