Класс QPlace
Класс QPlace представляет набор данных о месте. Подробнее...
| Заголовок: | #include <QPlace> |
| qmake: | QT += location |
| С тех пор: | Qt 5.6 |
Этот класс был представлен в Qt 5.6.
Открытые функции
| QPlace(const QPlace &other) | |
| QPlace() | |
| QPlace & | operator=(const QPlace &other) |
| ~QPlace() | |
| void | appendContactDetail(const QString &contactType, const QPlaceContactDetail &detail) |
| QString | attribution() const |
| QList<QPlaceCategory> | categories() const |
| QList<QPlaceContactDetail> | contactDetails(const QString &contactType) const |
| QStringList | contactTypes() const |
| QPlaceContent::Collection | content(QPlaceContent::Type type) const |
| bool | detailsFetched() const |
| QPlaceAttribute | extendedAttribute(const QString &attributeType) const |
| QStringList | extendedAttributeTypes() const |
| QPlaceIcon | icon() const |
| void | insertContent(QPlaceContent::Type type, const QPlaceContent::Collection &content) |
| bool | isEmpty() const |
| QGeoLocation | location() const |
| QString | name() const |
| QString | placeId() const |
| QString | primaryEmail() const |
| QString | primaryFax() const |
| QString | primaryPhone() const |
| QUrl | primaryWebsite() const |
| QPlaceRatings | ratings() const |
| void | removeContactDetails(const QString &contactType) |
| void | removeExtendedAttribute(const QString &attributeType) |
| void | setAttribution(const QString &attribution) |
| void | setCategories(const QList<QPlaceCategory> &categories) |
| void | setCategory(const QPlaceCategory &category) |
| void | setContactDetails(const QString &contactType, QList<QPlaceContactDetail> details) |
| void | setContent(QPlaceContent::Type type, const QPlaceContent::Collection &content) |
| void | setDetailsFetched(bool fetched) |
| void | setExtendedAttribute(const QString &attributeType, const QPlaceAttribute &attribute) |
| void | setIcon(const QPlaceIcon &icon) |
| void | setLocation(const QGeoLocation &location) |
| void | setName(const QString &name) |
| void | setPlaceId(const QString &identifier) |
| void | setRatings(const QPlaceRatings &rating) |
| void | setSupplier(const QPlaceSupplier &supplier) |
| void | setTotalContentCount(QPlaceContent::Type type, int totalCount) |
| void | setVisibility(QLocation::Visibility visibility) |
| QPlaceSupplier | supplier() const |
| int | totalContentCount(QPlaceContent::Type type) const |
| QLocation::Visibility | visibility() const |
| bool | operator!=(const QPlace &other) const |
| bool | operator==(const QPlace &other) const |
Защищенные функции
| QPlace(const QSharedDataPointer<QPlacePrivate> &dd) | |
| QSharedDataPointer<QPlacePrivate> & | d() |
Подробное описание
Место — это точка интереса, например, любимый ресторан, парк или чей-то дом. Объект QPlace представляет место, выступая в качестве контейнера для различных сведений о нём.
Эту информацию можно разделить на две основные категории:
- Детали
- Богатый контент
Детали места включают в себя свойства места, такие как имя, расположение, контактная информация и так далее. Когда место возвращается в ходе поиска, эти детали заполняются. Иногда для экономии пропускной способности существуют дополнительные детали о месте, которые можно получить для конкретного места, если пользователь заинтересован. Функцию QPlace::detailsFetched() можно использовать для проверки, были ли получены все доступные детали, а если нет, то QPlaceManager::getPlaceDetails() можно использовать для их получения. Точно то, какие детали заполняются во время поиска, а какие необходимо получать индивидуально, может отличаться в зависимости от поставщика. Подробнее см. документацию плагина.
Богатый контент места состоит из таких элементов, как изображения, отзывы и редакционные статьи. Возможно, может быть много элементов богатого контента, поэтому они обрабатываются отдельно от подробностей места. Их можно получить по страницам с помощью QPlaceManager::getPlaceContent(). При необходимости контент можно назначить месту, чтобы он мог действовать в качестве удобного контейнера.
Информация о контакте
Информация о контакте места основана на общем наборе типов контактов. Чтобы получить все номера телефонов места, необходимо сделать следующее:
if (place.contactTypes().contains(QPlaceContactDetail::Phone)) {
foreach (const QPlaceContactDetail &number, place.contactDetails(QPlaceContactDetail::Phone))
qDebug() << number.label() << ":" << number.value();
} Типы контактов — это строковые значения по умолчанию, чтобы поставщики могли добавлять новые типы контактов.
Для удобства есть набор функций, которые возвращают значение первого детального элемента контакта каждого типа.
Расширенные атрибуты
Места могут иметь дополнительные атрибуты, которые не покрываются в формальном API. Подобно контактам, атрибуты основаны на общем наборе типов атрибутов. Чтобы получить расширенный атрибут, необходимо сделать следующее:
if (place.extendedAttributeTypes().contains(QPlaceAttribute::OpeningHours))
qDebug() << place.extendedAttribute(QPlaceAttribute::OpeningHours).text(); Типы атрибутов — это строковые значения по умолчанию, чтобы поставщики могли добавлять новые типы атрибутов.
Контент
Объект QPlace предназначен только для удобного хранения богатого контента, такого как изображения, отзывы и так далее. Извлечение контента должно происходить с помощью QPlaceManager::getPlaceContent().
Контент хранится как QPlaceContent::Collection, который содержит как индекс контента, так и сам контент. Это позволяет разработчикам проверять, был ли конкретный элемент уже извлечен, и если нет, запрашивать этот контент.
Атрибуция
Места имеют поле для строки атрибуции форматированного текста. Некоторые поставщики могут потребовать, чтобы атрибуция отображалась при отображении места пользователю.
Категории
Разные категории могут быть назначены месту, чтобы указать, что место связано с этими категориями. При сохранении места единственными значимыми данными являются идентификатор категории, остальные данные категории фактически игнорируются. Категория должна уже существовать перед сохранением места (невозможно создать новую категорию, назначить ее месту, сохранить место и ожидать создания категории).
Ограничения сохранения
API мест в настоящее время разработан только для сохранения основных данных. Сохранение богатого контента, такого как изображения и отзывы, или деталей, таких как поставщик и рейтинг, не поддерживается. Обычно менеджер обычно игнорирует эти поля при сохранении и может вывести сообщение об ошибке, если они заполнены.
API мест поддерживает сохранение только следующих основных данных:
- имя
- идентификатор места
- местоположение
- детали контактов
- значок
- категории (похожие на теги имена для описания места)
- сфера видимости
Возможно, поставщики могут поддерживать только подмножество этих данных. Для получения более подробной информации см. документацию плагина.
Сохранение таких свойств, как рейтинг, расширенные атрибуты, изображения, отзывы, редакционные статьи и поставщик, API мест явным образом не поддерживает.
Документация функции члена
[protected] QPlace::QPlace(const QSharedDataPointer<QPlacePrivate> &dd)
Создает объект места, используя dd как частную реализацию.
QPlace::QPlace(const QPlace &other)
Создает копию other.
QPlace::QPlace()
Создает пустой объект места.
QPlace &QPlace::operator=(const QPlace &other)
Присваивает other этому месту и возвращает ссылку на это место.
QPlace::~QPlace()
Удаляет это место.
void QPlace::appendContactDetail(const QString &contactType, const QPlaceContactDetail &detail)
Добавляет контактную detail указанного типа contactType.
См. QPlaceContactDetail для списка распространенных типов контактов.
QString QPlace::attribution() const
Возвращает строку атрибуции форматированного текста места. Обратите внимание, что у некоторых поставщиков может быть требование, где атрибуция должна отображаться всякий раз, когда место отображается конечному пользователю.
См. также setAttribution().
QList<QPlaceCategory> QPlace::categories() const
Возвращает категории, к которым принадлежит это место.
См. также setCategories().
QList<QPlaceContactDetail> QPlace::contactDetails(const QString &contactType) const
Возвращает список контактных данных указанного типа contactType.
См. QPlaceContactDetail для списка распространенных типов контактов.
См. также setContactDetails().
QStringList QPlace::contactTypes() const
Возвращает тип контактных данных этого места.
См. QPlaceContactDetail для списка распространенных типов контактов.
QPlaceContent::Collection QPlace::content(QPlaceContent::Type type) const
Возвращает набор контента, связанного с местом. Этот набор — это карта с ключом, являющимся индексом объекта контента, и значением — самим объектом контента.
type указывает, какой вид контента следует извлечь.
См. также setContent().
[protected] QSharedDataPointer<QPlacePrivate> &QPlace::d()
Возвращает указатель d.
bool QPlace::detailsFetched() const
Возвращает true, если данные этого места были извлечены, иначе возвращает false.
См. также setDetailsFetched().
QPlaceAttribute QPlace::extendedAttribute(const QString &attributeType) const
Возвращает расширенный атрибут, соответствующий указанному типу attributeType. Если место не имеет этого конкретного типа атрибута, возвращается QPlaceExtendedAttribute, созданный по умолчанию.
См. также setExtendedAttribute().
QStringList QPlace::extendedAttributeTypes() const
Возвращает типы расширенных атрибутов, имеющихся у этого места.
QPlaceIcon QPlace::icon() const
Возвращает значок места.
См. также setIcon().
void QPlace::insertContent(QPlaceContent::Type type, const QPlaceContent::Collection &content)
Добавляет набор content заданного типа type к месту. Любой индекс в content, который уже существует, перезаписывается.
bool QPlace::isEmpty() const
Возвращает логическое значение, указывающее, все ли поля места пусты или нет.
QGeoLocation QPlace::location() const
Возвращает местоположение места.
См. также setLocation().
QString QPlace::name() const
Возвращает имя места.
См. также setName().
QString QPlace::placeId() const
Возвращает идентификатор места. Идентификатор места имеет смысл только для QPlaceManager, который его сгенерировал, и не передается между менеджерами. Идентификатор места не гарантируется как универсально уникальный, но уникальный для менеджера, который его сгенерировал.
См. также setPlaceId().
QString QPlace::primaryEmail() const
Возвращает основной адрес электронной почты для этого места. Эта функция удобства обращается к первому элементу контактных данных типа email. Если адресов электронной почты нет, возвращается пустая строка.
QString QPlace::primaryFax() const
Возвращает основной номер факса для этого места. Эта функция удобства обращается к первому элементу контактных данных типа fax. Если деталей факса нет, возвращается пустая строка.
QString QPlace::primaryPhone() const
Возвращает основной номер телефона для этого места. Это обращение к первому контактному элементу типа «номер телефона». Если данные о телефоне отсутствуют, возвращается пустая строка.
QUrl QPlace::primaryWebsite() const
Возвращает основной веб-сайт места. Эта функция удобства обращается к первому контактному элементу типа «веб-сайт». Если веб-сайты отсутствуют, возвращается пустая строка.
QPlaceRatings QPlace::ratings() const
Возвращает агрегированный рейтинг места.
См. также setRatings().
void QPlace::removeContactDetails(const QString &contactType)
Удаляет все контактные данные заданного типа contactType.
contactType больше не возвращается при вызове QPlace::contactTypes().
void QPlace::removeExtendedAttribute(const QString &attributeType)
Удаляет атрибут attributeType из места.
Атрибут больше не будет отображаться в QPlace::extendedAttributeTypes().
void QPlace::setAttribution(const QString &attribution)
Устанавливает строку attribution места.
См. также attribution().
void QPlace::setCategories(const QList<QPlaceCategory> &categories)
Устанавливает categories, к которым принадлежит это место.
См. также categories().
void QPlace::setCategory(const QPlaceCategory &category)
Устанавливает одну category, к которой принадлежит это место.
void QPlace::setContactDetails(const QString &contactType, QList<QPlaceContactDetail> details)
Устанавливает контактные details указанного типа contactType.
Если details пусто, то contactType удаляется из места, и больше не возвращается методом QPlace::contactTypes().
См. QPlaceContactDetail для списка распространённых типов контактов.
См. также contactDetails().
void QPlace::setContent(QPlaceContent::Type type, const QPlaceContent::Collection &content)
Устанавливает набор content для заданного типа type.
См. также content().
void QPlace::setDetailsFetched(bool fetched)
Устанавливает, были ли данные этого места fetched или нет.
См. также detailsFetched().
void QPlace::setExtendedAttribute(const QString &attributeType, const QPlaceAttribute &attribute)
Присваивает атрибут attribute заданного типа attributeType месту. Если заданный attributeType уже существует в месте, он перезаписывается.
Если attribute является конструктором по умолчанию QPlaceAttribute, то attributeType удаляется из места, что означает, что он не будет отображаться в QPlace::extendedAttributeTypes().
См. также extendedAttribute().
void QPlace::setIcon(const QPlaceIcon &icon)
Устанавливает icon места.
См. также icon().
void QPlace::setLocation(const QGeoLocation &location)
Устанавливает location места.
См. также location().
void QPlace::setName(const QString &name)
Устанавливает name места.
См. также name().
void QPlace::setPlaceId(const QString &identifier)
Устанавливает identifier места.
См. также placeId().
void QPlace::setRatings(const QPlaceRatings &rating)
Устанавливает агрегированный rating места.
См. также ratings().
void QPlace::setSupplier(const QPlaceSupplier &supplier)
Устанавливает поставщика этого места в supplier.
См. также supplier().
void QPlace::setTotalContentCount(QPlaceContent::Type type, int totalCount)
Устанавливает totalCount объектов контента заданного типа type.
См. также totalContentCount().
void QPlace::setVisibility(QLocation::Visibility visibility)
Устанавливает видимость места на visibility.
См. также visibility().
QPlaceSupplier QPlace::supplier() const
Возвращает поставщика этого места.
См. также setSupplier().
int QPlace::totalContentCount(QPlaceContent::Type type) const
Возвращает общее количество объектов контента заданного типа type. Это общее количество указывает, сколько элементов должен иметь менеджер/поставщик. (В отличие от того, сколько объектов в данный момент назначено этому месту).
Отрицательное значение означает, что общее количество элементов неизвестно. По умолчанию общее количество контента установлено в 0.
См. также setTotalContentCount().
QLocation::Visibility QPlace::visibility() const
Возвращает видимость места.
По умолчанию видимость нового места установлена в QtLocatin::Unspecified. Если место сохраняется с неопределенной видимостью, бэкенд выбирает подходящую по умолчанию видимость для сохранения.
См. также setVisibility().
bool QPlace::operator!=(const QPlace &other) const
Возвращает true, если other не равно этому месту, в противном случае возвращает false.
bool QPlace::operator==(const QPlace &other) const
Возвращает true, если other равно этому месту, в противном случае возвращает false.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qplace.html