QGeoPath类
QGeoPath类定义了一个地理路径。更多信息...
头文件 | #include <QGeoPath> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Positioning) target_link_libraries(mytarget PRIVATE Qt6::Positioning) |
qmake | QT += positioning |
继承了 | QGeoShape |
属性
公共函数
QGeoPath() | |
QGeoPath(const QList<QGeoCoordinate> &path, const qreal &width = 0.0) | |
QGeoPath(const QGeoShape &other) | |
QGeoPath(const QGeoPath &other) | |
~QGeoPath() | |
void | addCoordinate(const QGeoCoordinate &coordinate) |
void | clearPath() |
bool | containsCoordinate(const QGeoCoordinate &coordinate) const |
QGeoCoordinate | coordinateAt(qsizetype index) const |
void | insertCoordinate(qsizetype index, const QGeoCoordinate &coordinate) |
double | length(qsizetype indexFrom = 0, qsizetype indexTo = -1) const |
const QList<QGeoCoordinate> & | path() const |
void | removeCoordinate(const QGeoCoordinate &coordinate) |
void | removeCoordinate(qsizetype index) |
void | replaceCoordinate(qsizetype index, const QGeoCoordinate &coordinate) |
void | setPath(const QList<QGeoCoordinate> &path) |
void | setWidth(const qreal &width) |
qsizetype | size() const |
QString | toString() const |
void | translate(double degreesLatitude, double degreesLongitude) |
QGeoPath | translated(double degreesLatitude, double degreesLongitude) const |
qreal | width() const |
QGeoPath & | operator=(const QGeoPath &other) |
详细描述
路径由一个有序的QGeoCoordinate对象列表定义。
路径中相邻的两个元素旨在通过通过这两个元素的最短线段连接在一起。这种类型的连接可以在纵向方向穿越子午线,但永远不会穿越两极。
这对于计算QGeoShape::boundingGeoRectangle()返回的边界框是相关的,该形状的左上角的纬度将设置为路径点集中的最大纬度。同样,右下角的纬度将是路径点集中的最小纬度。
此类是Q_GADGET的一个实例。它可以直接从C++和QML中使用。
如果QGeoPath不包含坐标,则它既无效又为空。
注意:默认构造的QGeoPath既无效又为空,因为它不包含任何坐标。
属性文档
path : const QVariantList
此属性包含地理路径的坐标列表。
注意:坐标不可就地处理。要更改此属性的值,请检索完整的坐标列表,处理它们,然后将新值分配给属性。
width : qreal
此属性包含路径的宽度(以米为单位)。
访问函数
qreal | width() const |
void | setWidth(const qreal &width) |
成员函数文档
QGeoPath::QGeoPath()
构造一个空的地理路径。
QGeoPath::QGeoPath(const QList<QGeoCoordinate> &path, const qreal &width = 0.0)
从坐标列表(path 和 width)构造一个新的地理路径。
QGeoPath::QGeoPath(const QGeoShape &other)
从other的内容构造一个新的地理路径。
QGeoPath::QGeoPath(const QGeoPath &other)
从other的内容构造一个新的地理路径。
[noexcept]
QGeoPath::~QGeoPath()
销毁此路径。
[invokable]
void QGeoPath::addCoordinate(const QGeoCoordinate &coordinate)
将coordinate追加到路径中。
注意:可以通过元对象系统从QML中调用此函数。请参阅Q_INVOKABLE。
void QGeoPath::clearPath()
清除路径。
[invokable]
bool QGeoPath::containsCoordinate(const QGeoCoordinate &coordinate) const
如果路径包含coordinate作为其中一个元素,则返回true。
注意:可以通过元对象系统从QML中调用此函数。请参阅Q_INVOKABLE。
[可调用]
QGeoCoordinate QGeoPath::coordinateAt(qsizetype index) const
返回索引为index处的坐标。
注意:可以通过元对象系统从QML中调用此函数。请参阅Q_INVOKABLE。
[可调用]
void QGeoPath::insertCoordinate(qsizetype index, const QGeoCoordinate &coordinate)
在指定的索引index处插入坐标coordinate。
注意:可以通过元对象系统从QML中调用此函数。请参阅Q_INVOKABLE。
[可调用]
double QGeoPath::length(qsizetype indexFrom = 0, qsizetype indexTo = -1) const
返回路径的长度(以米为单位),从元素indexFrom到元素indexTo。该长度是每对相邻点之间最短距离的总和。
如果indexTo为-1(默认值),长度将包括最后一个坐标和第一个坐标之间的距离(闭合循环)。为了获取路径的长度,请将indexFrom设置为0,将indexTo设置为QGeoPath::size() - 1。
注意:可以通过元对象系统从QML中调用此函数。请参阅Q_INVOKABLE。
const QList<QGeoCoordinate> &QGeoPath::path() const
返回路径的所有元素。
另请参阅setPath。
[可调用]
void QGeoPath::removeCoordinate(const QGeoCoordinate &coordinate)
从路径中移除最后出现的坐标coordinate。
注意:可以通过元对象系统从QML中调用此函数。请参阅Q_INVOKABLE。
[可调用]
void QGeoPath::removeCoordinate(qsizetype index)
从路径中移除位置为index的元素。
注意:可以通过元对象系统从QML中调用此函数。请参阅Q_INVOKABLE。
[可调用]
void QGeoPath::replaceCoordinate(qsizetype index, const QGeoCoordinate &coordinate)
将指定索引index处的路径元素替换为坐标coordinate。
注意:可以通过元对象系统从QML中调用此函数。请参阅Q_INVOKABLE。
void QGeoPath::setPath(const QList<QGeoCoordinate> &path)
设置路径的所有元素。
另请参阅path。
[可调用]
qsizetype QGeoPath::size() const
返回路径中的元素数量。
注意:可以通过元对象系统从QML中调用此函数。请参阅Q_INVOKABLE。
[可调用]
QString QGeoPath::toString() const
以字符串的形式返回地理路径属性。
注意:可以通过元对象系统从QML中调用此函数。请参阅Q_INVOKABLE。
[可调用]
void QGeoPath::translate(double degreesLatitude, double degreesLongitude)
将此地理路径沿 degreesLatitude 向北和 degreesLongitude 向东移动。
degreesLatitude 和 degreesLongitude 的负值分别对应向南和向西移动。
注意:可以通过元对象系统从QML中调用此函数。请参阅Q_INVOKABLE。
[可调用]
QGeoPath QGeoPath::translated(double degreesLatitude, double degreesLongitude) const
返回此地理路径向 degreesLatitude 向北和 degreesLongitude 向东移动的副本。
degreesLatitude 和 degreesLongitude 的负值分别对应向南和向西移动。
注意:可以通过元对象系统从QML中调用此函数。请参阅Q_INVOKABLE。
另请参阅 translate().
qreal QGeoPath::width() const
返回路径的宽度,单位为米。此信息在 contains 方法中使用。默认值为0。
注意: width属性的获取器函数。
另请参阅 setWidth().
QGeoPath &QGeoPath::operator=(const QGeoPath &other)
将 other 赋值给此地理路径并返回对此地理路径的引用。
© 2024 The Qt Company Ltd. 本文档中包含的贡献著作权的所有者。本提供的文档受GNU自由文档许可证第1.3版的条款约束,由自由软件基金会发布。Qt及其相关标志是The Qt Company Ltd在芬兰和其他国家的注册商标。所有其他商标均属于各自的所有者。