Класс 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(const QSharedDataPointer<QPlacePrivate> &dd) | |
| QSharedDataPointer<QPlacePrivate> & | d() |
Подробное описание
Класс 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.
[protected] QPlace::QPlace(const QSharedDataPointer<QPlacePrivate> &dd)
Создаёт объект места, используя dd в качестве частной реализации.
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
Возвращает основной факс для данного места. Эта функция удобства обращается к первому контактному детали типа факс. Если деталей факса нет, возвращается пустая строка.
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().
void QPlace::setCategory(const QPlaceCategory &category)
Устанавливает отдельную категорию, к которой принадлежит это место.
void QPlace::setContactDetails(const QString &contactType, QList<QPlaceContactDetail> 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().
void QPlace::setLocation(const QGeoLocation &location)
Устанавливает местоположение места.
См. также location().
void QPlace::setName(const QString &name)
Устанавливает имя места.
См. также name().
void QPlace::setPlaceId(const QString &identifier)
Устанавливает идентификатор места.
См. также placeId().
void QPlace::setRatings(const QPlaceRatings &rating)
Устанавливает агрегированный рейтинг места.
См. также ratings().
void QPlace::setSupplier(const QPlaceSupplier &supplier)
Устанавливает поставщика этого места в supplier.
См. также supplier().
void QPlace::setTotalContentCount(QPlaceContent::Type type, int 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.11/qplace.html