QPlace类
QPlace类表示关于某个地点的数据集。更多信息...
头文件 | #include <QPlace> |
qmake | QT += location |
公共函数
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 |
QPlace & | operator=(const QPlace &other) |
受保护的函数
QPlace(const QSharedDataPointer<QPlacePrivate> &dd) |
相关非成员
bool | operator!=(const QPlace &lhs, const QPlace &rhs) |
bool | operator==(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)
将给定attributeType的attribute分配给地点。如果给定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。
void QPlace::setVisibility(QLocation::Visibility visibility)
将地点的可见性设置为visibility。
参阅 visibility。
QPlaceSupplier QPlace::supplier() const
返回此地点的供应商。
参阅 setSupplier。
int QPlace::totalContentCount(QPlaceContent::Type type) const
返回给定type的内容对象的总体数量。这个总体数量表示管理器/提供者应有多少可用的项。 (与当前分配给此地点实例的项数相反)。
负数表示物品总数未知。默认情况下,总体内容计数设置为0。
QLocation::Visibility QPlace::visibility() const
返回地点的可见性。
新地点的默认可见性设置为QtLocatin::未指定可见性。如果以未指定可见性保存地点,后端会选择适当的默认可见性以供保存使用。
参阅 setVisibility。
[noexcept]
QPlace &QPlace::operator=(const QPlace &other)
将other分配给此地点,并返回对此地点的引用。
© 2024 Qt公司有限公司。本文件中包含的文档贡献为各自所有者的版权。本文件提供的文档根据自由软件基金会发布的条款(http://www.gnu.org/licenses/fdl.html)授权在GNU自由文档许可版本1.3下。Qt及其相关标识是Qt公司在芬兰和/或其他国家的商标。《版权归属》的缩写符号为©。其他所有商标均为其各自所有者的财产。