QGeoPositionInfo Class
QGeoPositionInfo 类包含在特定时间点收集的有关全局位置、方向和速度的信息。更多
头文件: | #include <QGeoPositionInfo> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Positioning) target_link_libraries(mytarget PRIVATE Qt6::Positioning) |
qmake: | QT += positioning |
- 所有成员(包括继承成员)的列表
- QGeoPositionInfo 属于隐式共享类。
公共类型
enum | Attribute { Direction, GroundSpeed, VerticalSpeed, MagneticVariation, HorizontalAccuracy, …, DirectionAccuracy } |
公共函数
QGeoPositionInfo() | |
QGeoPositionInfo(const QGeoCoordinate &coordinate, const QDateTime ×tamp) | |
QGeoPositionInfo(const QGeoPositionInfo &other) | |
(since 6.2) | QGeoPositionInfo(QGeoPositionInfo &&other) |
~QGeoPositionInfo() | |
qreal | attribute(QGeoPositionInfo::Attribute attribute) const |
QGeoCoordinate | coordinate() const |
bool | hasAttribute(QGeoPositionInfo::Attribute attribute) const |
bool | isValid() const |
void | removeAttribute(QGeoPositionInfo::Attribute attribute) |
void | setAttribute(QGeoPositionInfo::Attribute attribute, qreal value) |
void | setCoordinate(const QGeoCoordinate &coordinate) |
void | setTimestamp(const QDateTime ×tamp) |
(since 6.2) void | swap(QGeoPositionInfo &other) |
QDateTime | timestamp() const |
(since 6.2) QGeoPositionInfo & | operator=(QGeoPositionInfo &&other) |
QGeoPositionInfo & | operator=(const QGeoPositionInfo &other) |
相关非成员
bool | operator!=(const QGeoPositionInfo &lhs, const QGeoPositionInfo &rhs) |
QDataStream & | operator<<(QDataStream &stream, QGeoPositionInfo::Attribute attr) |
QDataStream & | operator<<(QDataStream &stream, const QGeoPositionInfo &info) |
bool | operator==(const QGeoPositionInfo &lhs, const QGeoPositionInfo &rhs) |
QDataStream & | operator>>(QDataStream &stream, QGeoPositionInfo &info) |
QDataStream & | operator>>(QDataStream &stream, QGeoPositionInfo::Attribute &attr) |
另请参阅 QGeoPositionInfoSource 。
成员类型文档
enum QGeoPositionInfo::Attribute
定义位置信息的属性。
常数 | 值 | 说明 |
---|---|---|
QGeoPositionInfo::Direction | 0 | 方位(从真北方向行进方向顺时针方向测量的度数)。 |
QGeoPositionInfo::GroundSpeed | 1 | 地面速度(米/秒)。 |
QGeoPositionInfo::VerticalSpeed | 2 | 垂直速度,单位为米/秒。 |
QGeoPositionInfo::MagneticVariation | 3 | 磁场水平分量与真北之间的夹角,单位为度。也称为磁偏角。正值表示从真北开始的顺时针方向,负值表示逆时针方向。 |
QGeoPositionInfo::HorizontalAccuracy | 4 | 所提供纬度-经度值的精度,单位为米。 |
QGeoPositionInfo::VerticalAccuracy | 5 | 所提供高度值的精度,以米为单位。 |
QGeoPositionInfo::DirectionAccuracy | 6 | 所提供方位的精确度,单位为度。此属性仅适用于 Android(API 26 级或以上)和 macOS/iOS。有关详细信息,请参阅相应的Android和Apple文档。 |
NMEA 协议还提出了另一种精度类型--PositionAccuracy,它是一个 3D 精度值。Qt 没有为其提供单独的属性。如果您需要这个值,可以根据以下公式计算:
PositionAccuracy
2 = HorizontalAccuracy
2 + VerticalAccuracy
2
成员函数文档
QGeoPositionInfo::QGeoPositionInfo()
创建无效的 QGeoPositionInfo 对象。
另请参阅 isValid().
QGeoPositionInfo::QGeoPositionInfo(const QGeoCoordinate &coordinate, const QDateTime ×tamp)
为给定的coordinate 和timestamp 创建 QGeoPositionInfo。
QGeoPositionInfo::QGeoPositionInfo(const QGeoPositionInfo &other)
使用other 的值创建 QGeoPositionInfo。
[noexcept, since 6.2]
QGeoPositionInfo::QGeoPositionInfo(QGeoPositionInfo &&other)
通过从other 移动创建一个 QGeoPositionInfo 对象。
请注意,从移动的 QGeoPositionInfo 只能被销毁或赋值。调用析构函数或赋值操作符之外的其他函数的效果未定义。
此函数在 Qt 6.2 中引入。
[noexcept]
QGeoPositionInfo::~QGeoPositionInfo()
销毁QGeoPositionInfo 对象。
qreal QGeoPositionInfo::attribute(QGeoPositionInfo::Attribute attribute) const
返回指定attribute 的 qreal 值。
如果未设置值,则返回 NaN。
应使用函数hasAttribute() 来确定属性值是否已被设置。
另请参阅 hasAttribute() 和setAttribute()。
QGeoCoordinate QGeoPositionInfo::coordinate() const
返回此位置的坐标。
如果没有设置坐标,则返回无效坐标。
另请参见 setCoordinate()。
bool QGeoPositionInfo::hasAttribute(QGeoPositionInfo::Attribute attribute) const
如果QGeoPositionInfo 对象中存在指定的attribute ,则返回 true。
bool QGeoPositionInfo::isValid() const
如果timestamp() 和coordinate() 值都有效,则返回 true。
另请参阅 QGeoCoordinate::isValid() 和QDateTime::isValid()。
void QGeoPositionInfo::removeAttribute(QGeoPositionInfo::Attribute attribute)
删除指定的attribute 及其值。
void QGeoPositionInfo::setAttribute(QGeoPositionInfo::Attribute attribute, qreal value)
将attribute 的值设置为value 。
另请参阅 attribute() 。
void QGeoPositionInfo::setCoordinate(const QGeoCoordinate &coordinate)
将此位置的坐标设置为coordinate 。
另请参阅 coordinate() 。
void QGeoPositionInfo::setTimestamp(const QDateTime ×tamp)
设置向timestamp 报告该位置的日期和时间。
timestamp 必须是 UTC 时间。
另请参阅 timestamp() 。
[noexcept, since 6.2]
void QGeoPositionInfo::swap(QGeoPositionInfo &other)
将该位置信息与other 互换。该操作速度非常快,而且从不出错。
此功能在 Qt 6.2 中引入。
QDateTime QGeoPositionInfo::timestamp() const
返回报告该位置的日期和时间(UTC 时间)。
如果没有设置日期/时间值,则返回无效的QDateTime 。
另请参阅 setTimestamp()。
[noexcept, since 6.2]
QGeoPositionInfo &QGeoPositionInfo::operator=(QGeoPositionInfo &&other)
移动--将other 中的值赋值给此对象。
请注意,moved-fromQGeoPositionInfo 只能被销毁或赋值。调用析构函数或赋值操作符之外的其他函数的效果未定义。
此函数在 Qt 6.2 中引入。
QGeoPositionInfo &QGeoPositionInfo::operator=(const QGeoPositionInfo &other)
将other 中的值分配给此QGeoPositionInfo 。
相关非会员
bool operator!=(const QGeoPositionInfo &lhs, const QGeoPositionInfo &rhs)
如果lhs 对象的任何值与rhs 的值不一致,则返回true
。否则返回false
。
QDataStream &operator<<(QDataStream &stream, QGeoPositionInfo::Attribute attr)
将给定的attr 枚举写入指定的stream 。
另请参阅 序列化 Qt 数据类型。
QDataStream &operator<<(QDataStream &stream, const QGeoPositionInfo &info)
将给定的info 写入指定的stream 。
另请参阅 序列化 Qt 数据类型。
bool operator==(const QGeoPositionInfo &lhs, const QGeoPositionInfo &rhs)
如果lhs 对象的所有值都与rhs 相同,则返回true
。否则返回false
。
QDataStream &operator>>(QDataStream &stream, QGeoPositionInfo &info)
将坐标从指定的stream 读取到给定的info 中。
另请参阅 序列化 Qt 数据类型。
QDataStream &operator>>(QDataStream &stream, QGeoPositionInfo::Attribute &attr)
从指定的stream info 读取给定attr 的属性枚举。
另请参阅 序列化 Qt 数据类型。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.