Spec-Zone.ru › Qt 5.11

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

Spec-Zone.ru

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