QPlace类

QPlace类表示关于某个地点的数据集。更多信息...

头文件 #include <QPlace>
qmakeQT += location

公共函数

QPlace()
QPlace(const QPlace &other)
~QPlace()
voidappendContactDetail(const QString &contactType, const QPlaceContactDetail &detail)
QStringattribution() const
QList<QPlaceCategory>categories() const
QList<QPlaceContactDetail>contactDetails(const QString &contactType) const
QStringListcontactTypes() const
QPlaceContent::Collectioncontent(QPlaceContent::Type type) const
booldetailsFetched() const
QPlaceAttributeextendedAttribute(const QString &attributeType) const
QStringListextendedAttributeTypes() const
QPlaceIconicon() const
voidinsertContent(QPlaceContent::Type type, const QPlaceContent::Collection &content)
boolisEmpty() const
QGeoLocationlocation() const
QStringname() const
QStringplaceId() const
QStringprimaryEmail() const
QStringprimaryFax() const
QStringprimaryPhone() const
QUrlprimaryWebsite() const
QPlaceRatingsratings() const
voidremoveContactDetails(const QString &contactType)
voidremoveExtendedAttribute(const QString &attributeType)
voidsetAttribution(const QString &attribution)
voidsetCategories(const QList<QPlaceCategory> &categories)
voidsetCategory(const QPlaceCategory &category)
voidsetContactDetails(const QString &contactType, QList<QPlaceContactDetail> details)
voidsetContent(QPlaceContent::Type type, const QPlaceContent::Collection &content)
voidsetDetailsFetched(bool fetched)
voidsetExtendedAttribute(const QString &attributeType, const QPlaceAttribute &attribute)
voidsetIcon(const QPlaceIcon &icon)
voidsetLocation(const QGeoLocation &location)
voidsetName(const QString &name)
voidsetPlaceId(const QString &identifier)
voidsetRatings(const QPlaceRatings &rating)
voidsetSupplier(const QPlaceSupplier &supplier)
voidsetTotalContentCount(QPlaceContent::Type type, int totalCount)
voidsetVisibility(QLocation::Visibility visibility)
QPlaceSuppliersupplier() const
inttotalContentCount(QPlaceContent::Type type) const
QLocation::Visibilityvisibility() const
QPlace &operator=(const QPlace &other)

受保护的函数

QPlace(const QSharedDataPointer<QPlacePrivate> &dd)
booloperator!=(const QPlace &lhs, const QPlace &rhs)
booloperator==(const QPlace &lhs, const QPlace &rhs)

详细描述

地点是一个兴趣点,它可能是一家受欢迎的餐厅、一个公园或者某人的家。一个 QPlace 对象通过充当该地点各种信息的容器来表示一个地点。

这些信息可以分为两大类:

  • 详情
  • 丰富内容

地点详情包括地点的属性,如名称、位置、联系方式等。当在搜索中返回地点时,这些详情会被填充。有时为了节省带宽,可以按单个地点逐个检索有关地点的更多详细信息,如果用户感兴趣。可以通过查询 QPlace::detailsFetched() 函数来查看是否已检索所有可用详情,如果尚未全部检索,可以使用 QPlaceManager::getPlaceDetails() 来检索。精确到哪些详情在搜索中被填充,哪些需要逐个检索,可能因提供商而异。有关详细信息,请参阅 插件文档

地点的丰富内容由图像、评论和综述等项目组成。可能有很多丰富内容项,因此它们与地点详情分开处理。可以通过分页方式通过 QPlaceManager::getPlaceContent() 检索。如果需要,内容可以被分配给一个地点,使其作为一个方便的容器。

联系方式

地点的联系方式基于一组常见的 联系方式类型。要检索地点的所有电话号码,可以这样做:

if (place.contactTypes().contains(QPlaceContactDetail::Phone)) {
    for (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,它既包含内容的索引,也包含内容本身。这使开发者能够检查特定项目是否已被检索,如果没有,则请求内容。

归属

地点具有一个丰富的文本归属字符串字段。一些提供者可能要求在向用户显示地点时显示归属。

类别

可以将不同的类别分配给地点,以表明地点与这些类别相关联。保存地点时,唯一有意义的数据库是类别ID,其余的类别数据实际上被忽略。在保存地点之前,类别必须已经存在(无法创建新类别,将其分配给地点,保存地点并期望创建类别)。

保存注意事项

当前的地点API仅设计用于保存核心细节。保存丰富的内容(如图片和评论)或细节(如供应商和评分)不是支持的使用情况。通常,在保存时,管理员将一般忽略这些字段,如果它们已填充,则可能会产生警告消息。

地点API仅支持以下核心细节的保存

  • 名称
  • 地点ID
  • 位置
  • 联系信息
  • 图标
  • 类别(描述地点的类似标签的名称)
  • 可见性范围

可能的情况是,提供者可能只支持这些中的一部分。有关详细信息,请参阅插件文档

地点API明确不支持保存评分、扩展属性、图片、评论、编辑和供应商等属性。

成员函数文档

QPlace::QPlace()

构建一个空的地点对象。

[受保护] QPlace::QPlace(const QSharedDataPointer<QPlacePrivate> &dd)

使用dd作为私有实现构建地点对象。

[noexcept] QPlace::QPlace(const QPlace &other)

构建other的副本。

[noexcept] QPlace::~QPlace()

销毁此地点。

void QPlace::appendContactDetail(const QString &contactType, const QPlaceContactDetail &detail)

向特定contactType添加联系detail

有关常见的联系类型的列表,请参阅QPlaceContactDetail

QString QPlace::attribution() const

返回地点的丰富文本归属字符串。注意,某些提供者可能要求每当向最终用户显示地点时都必须显示归属。

另请参阅set Attribution

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)

将给定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

返回此地点的主要电子邮件地址。此便捷函数访问 电子邮件类型 的第一个联系详细信息。如果没有电子邮件地址,则返回空字符串。

QString QPlace::primaryFax() const

返回此地点的主要传真号码。此便捷函数访问 传真类型 的第一个联系详细信息。如果没有传真详情,则返回空字符串。

QString QPlace::primaryPhone() const

返回此地点的主要电话号码。此方法访问 电话号码类型 的第一个联系详细信息。如果没有电话详情,则返回空字符串。

QUrl QPlace::primaryWebsite() const

返回地点的主要网站。此便捷函数访问 网站类型 的第一个联系详细信息。如果没有网站,则返回空字符串。

QPlaceRatings QPlace::ratings() const

返回地点的综合评分。

另请参阅setRatings().

void QPlace::removeContactDetails(const QString &contactType)

删除给定 contactType 的所有联系详细信息。

当调用 QPlace::contactTypes() 时,将不再返回 contactType

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)

设置该地点所属的单个分类

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)

为给定的type设置一组content

参见content().

void QPlace::setDetailsFetched(bool fetched)

设置该地点的详情是否已被fetched

参见detailsFetched().

void QPlace::setExtendedAttribute(const QString &attributeType, const QPlaceAttribute &attribute)

将给定attributeTypeattribute分配给地点。如果给定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)

设置地点的聚合rating

参阅 评级

void QPlace::setSupplier(const QPlaceSupplier &supplier)

将此地点的供应商设置为供应商

参阅 供应商

void QPlace::setTotalContentCount(QPlaceContent::Type type, int totalCount)

设置给定type的内容对象的totalCount

参阅 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::未指定可见性。如果以未指定可见性保存地点,后端会选择适当的默认可见性以供保存使用。

参阅 setVisibility

[noexcept] QPlace &QPlace::operator=(const QPlace &other)

other分配给此地点,并返回对此地点的引用。

相关非成员

[noexcept] bool operator!=(const QPlace &lhs, const QPlace &rhs)

如果lhs不等于rhs,则返回true,否则返回false。

[noexcept] bool operator==(const QPlace &lhs, const QPlace &rhs)

如果lhs等于rhs,则返回true,否则返回false。

© 2024 Qt公司有限公司。本文件中包含的文档贡献为各自所有者的版权。本文件提供的文档根据自由软件基金会发布的条款(http://www.gnu.org/licenses/fdl.html)授权在GNU自由文档许可版本1.3下。Qt及其相关标识是Qt公司在芬兰和/或其他国家的商标。《版权归属》的缩写符号为©。其他所有商标均为其各自所有者的财产。