Класс QPlace
Класс QPlace представляет набор данных о месте. Подробнее...
| Заголовок: | #include <QPlace> |
| qmake: | QT += location |
| С момента: | Qt 5.6 |
Открытые функции
| QPlace() | |
| QPlace(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 |
| QPlace & | operator=(const QPlace &other) |
| bool | operator==(const QPlace &other) const |
Подробное описание
Класс QPlace представляет набор данных о месте.
Место — это точка интереса, например, любимый ресторан, парк или чей-то дом. Объект 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 мест.
Документация по функциям членов
QPlace::QPlace()
Создает пустой объект места.
QPlace::QPlace(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().
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
Возвращает основной номер факса для данного места. Эта вспомогательная функция обращается к первым контактным данным типа факс. Если данные факса отсутствуют, возвращается пустая строка.
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.
QPlace &QPlace::operator=(const QPlace &other)
Присваивает other этому месту и возвращает ссылку на это место.
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/archives/qt-5.6/qplace.html