QGeoRectangle 类

QGeoRectangle 类定义了一个地理区域矩形。 更多...

头文件 #include <QGeoRectangle>
CMakefind_package(Qt6 REQUIRED COMPONENTS Positioning)
target_link_libraries(mytarget PRIVATE Qt6::Positioning)
qmakeQT += positioning
继承 QGeoShape

属性

公用函数

QGeoRectangle()
QGeoRectangle(const QGeoCoordinate & center, double degreesWidth, double degreesHeight)
QGeoRectangle(const QGeoCoordinate & topLeft, const QGeoCoordinate & bottomRight)
QGeoRectangle(const QList& coordinates)
QGeoRectangle(const QGeoShape & other)
QGeoRectangle(const QGeoRectangle & other)
~QGeoRectangle()
QGeoCoordinatebottomLeft() const
QGeoCoordinatebottomRight() const
QGeoCoordinatecenter() const
boolcontains(const QGeoRectangle & rectangle) const
voidextendRectangle(const QGeoCoordinate & coordinate)
doubleheight() const
boolintersects(const QGeoRectangle & rectangle) const
voidsetBottomLeft(const QGeoCoordinate & bottomLeft)
voidsetBottomRight(const QGeoCoordinate & bottomRight)
voidsetCenter(const QGeoCoordinate & center)
voidsetHeight(double degreesHeight)
voidsetTopLeft(const QGeoCoordinate & topLeft)
voidsetTopRight(const QGeoCoordinate & topRight)
voidsetWidth(double degreesWidth)
QStringtoString() const
QGeoCoordinatetopLeft() const
QGeoCoordinatetopRight() const
voidtranslate(double degreesLatitude, double degreesLongitude)
QGeoRectangletranslated(double degreesLatitude, double degreesLongitude) const
QGeoRectangleunited(const QGeoRectangle &rectangle) const
doublewidth() const
QGeoRectangle &operator=(const QGeoRectangle &other)
QGeoRectangleoperator|(const QGeoRectangle &rectangle) const
QGeoRectangle &operator|=(const QGeoRectangle &rectangle)

详细说明

矩形通过一个QGeoCoordinate定义,该坐标指定矩形的左上角位置,以及一个QGeoCoordinate也指定矩形右下角位置。

如果左上角或右下角坐标无效,或左上角坐标在右下角坐标南部,则该地理矩形被认为是无效的。

地理矩形永远不会穿过两极。

有几个方法的行为就像地理矩形是以中心坐标、地理矩形的宽度(以度为单位)和地理矩形的高度(以度为单位)定义的。

如果调整地理矩形的高度或中心使其穿过一个极点,则高度将修改为地理矩形接触但不穿过极点,并且中心坐标仍然位于地理矩形的中心。

自Qt 5.5起此类成为Q_GADGET。它可以直接从C++和QML使用。直接使用

属性文档

bottomLeft : QGeoCoordinate

此属性存储此地理矩形的左下角坐标。

虽然此属性在Qt 5.5中引入,但从此类版本的第一版起就存在相关的访问函数。

访问函数

QGeoCoordinatebottomLeft() const
voidsetBottomLeft(const QGeoCoordinate &bottomLeft)

bottomRight : QGeoCoordinate

此属性存储此地理矩形的右下角坐标。

虽然此属性在Qt 5.5中引入,但从此类版本的第一版起就存在相关的访问函数。

访问函数

QGeoCoordinatebottomRight() const
voidsetBottomRight(const QGeoCoordinate &bottomRight)

center : QGeoCoordinate

此属性存储此地理矩形的中心位置。

虽然此属性在Qt 5.5中引入,但从此类版本的第一版起就存在相关的访问函数。

访问函数

QGeoCoordinatecenter() const
voidsetCenter(const QGeoCoordinate &center)

另请参阅 QGeoShape::center.

height : double

此属性存储此地理矩形的高度(以度为单位)。

如果此地理矩形是无效的,则此属性值是未定义的。

如果新的高度小于0.0或此地理矩形无效,则属性将保持不变。要设置基于中心、宽度和高度的无效地理矩形的值,首先应使用setCenter()使地理矩形有效。

如果高度的变化会导致地理矩形与经线交叉,则高度会被调整,使得地理矩形仅接触到经线。

这种调整是为了使中心坐标仍然位于地理矩形的中心,这可能会导致地理矩形的高度小于预期。

180.0 只在新的高度大于或等于 180 时使用。

虽然此属性在Qt 5.5中引入,但从此类版本的第一版起就存在相关的访问函数。

访问函数

doubleheight() const
voidsetHeight(double degreesHeight)

topLeft : QGeoCoordinate

此属性包含地理矩形的左上坐标。

虽然此属性在Qt 5.5中引入,但从此类版本的第一版起就存在相关的访问函数。

访问函数

QGeoCoordinatetopLeft() const
voidsetTopLeft(const QGeoCoordinate &topLeft)

topRight : QGeoCoordinate

此属性包含地理矩形的右上坐标。

虽然此属性在Qt 5.5中引入,但从此类版本的第一版起就存在相关的访问函数。

访问函数

QGeoCoordinatetopRight() const
voidsetTopRight(const QGeoCoordinate &topRight)

width : double

此属性包含地理矩形的宽度(以度为单位)。

如果此地理矩形是无效的,则此属性值是未定义的。

如果新的宽度小于 0.0 或此地理矩形无效,则此函数不执行任何操作。要使用中心、宽度和高度设置一个无效地理矩形的值,您应首先使用 setCenter() 使地理矩形变为有效。

360.0 只在新宽度等于或大于 360 时使用。在这种情况下,地理矩形的最东经设置为 -180.0 度,最西经设置为 180.0 度。

虽然此属性在Qt 5.5中引入,但从此类版本的第一版起就存在相关的访问函数。

访问函数

doublewidth() const
voidsetWidth(double degreesWidth)

成员函数文档

QGeoRectangle::QGeoRectangle()

构建一个新的无效地理矩形。

QGeoRectangle::QGeoRectangle(const QGeoCoordinate &center, double degreesWidth, double degreesHeight)

构建一个以 center 为中心,宽度为 degreesWidth 度,高度为 degreesHeight 度的新地理矩形。

如果 degreesHeight 会使地理矩形超出一个极点,则地理矩形的高度将被裁剪,使得地理矩形仅延伸到极点。地理矩形的中心将保持不变,高度将被调整,使得中心点位于裁剪后的地理矩形的中心。

QGeoRectangle::QGeoRectangle(const QGeoCoordinate &topLeft, const QGeoCoordinate &bottomRight)

构建一个具有右上坐标 topLeft 和右下坐标 bottomRight 的新地理矩形。

QGeoRectangle::QGeoRectangle(const QList<QGeoCoordinate> &coordinates)

构造一个包含所有坐标的最小大小的新的地理矩形。

QGeoRectangle::QGeoRectangle(const QGeoShape &other)

other的内容构造地理矩形。

QGeoRectangle::QGeoRectangle(const QGeoRectangle &other)

other的内容构造地理矩形。

[noexcept] QGeoRectangle::~QGeoRectangle()

销毁此地理矩形。

QGeoCoordinate QGeoRectangle::bottomLeft() const

返回此地理矩形的左下角坐标。

注意:底部左侧属性的getter函数。

另请参阅:setBottomLeft()。

QGeoCoordinate QGeoRectangle::bottomRight() const

返回此地理矩形的右下角坐标。

注意:底部右侧属性的getter函数。

另请参阅:setBottomRight()。

QGeoCoordinate QGeoRectangle::center() const

返回此地理矩形的中心。等同于QGeoShape::center

注意:中心属性的getter函数。

另请参阅:setCenter()。

bool QGeoRectangle::contains(const QGeoRectangle &rectangle) const

返回地理矩形rectangle是否包含在此地理矩形内。

[invokable] void QGeoRectangle::extendRectangle(const QGeoCoordinate &coordinate)

扩展地理矩形,使其也需要覆盖坐标coordinate

注意:此函数可以通过元对象系统和QML调用。请参阅Q_INVOKABLE

double QGeoRectangle::height() const

以度为单位返回此地理矩形的高度。

如果此地理矩形无效,返回值未定义。

注意:高度属性的getter函数。

另请参阅:setHeight()。

[invokable] bool QGeoRectangle::intersects(const QGeoRectangle &rectangle) const

返回地理矩形rectangle是否与此地理矩形相交。

如果两个地理矩形的顶部或底部边缘位于一个极点,这两个地理矩形被认为是相交的,因为当边缘位于极点时,经度是不相关的。

注意:此函数可以通过元对象系统和QML调用。请参阅Q_INVOKABLE

void QGeoRectangle::setBottomLeft(const QGeoCoordinate &bottomLeft)

将此地理矩形的底部左侧坐标设置为bottomLeft

注意:bottomLeft属性的setter函数。

另请参阅:bottomLeft

void QGeoRectangle::setBottomRight(const QGeoCoordinate &bottomRight)

将此地理矩形的右下角坐标设置为bottomRight

注意:属性bottomRight的setter函数。

参见:bottomRight

void QGeoRectangle::setCenter(const QGeoCoordinate &center)

将此地理矩形的中心设置为center

如果这导致地理矩形跨越任一极点,高度将截断,使得地理矩形仅延伸到该极点。地理矩形的中心将保持不变,高度将调整,使得中心点位于截断的地理矩形的中心。

注意:属性center的setter函数。

参见:center

void QGeoRectangle::setHeight(double degreesHeight)

将此地理矩形的高度设置为degreesHeight度。

注意:属性height的setter函数。

参见:height

void QGeoRectangle::setTopLeft(const QGeoCoordinate &topLeft)

将此地理矩形的左上角坐标设置为topLeft

注意:属性[b translating="no">topLeft的setter函数。

参见:topLeft

void QGeoRectangle::setTopRight(const QGeoCoordinate &topRight)

将此地理矩形的右上角坐标设置为topRight

注意:属性topRight的setter函数。

参见:topRight

void QGeoRectangle::setWidth(double degreesWidth)

将此地理矩形的宽度设置为degreesWidth度。

注意:属性width的setter函数。

参见:width

[可调用] QString QGeoRectangle::toString() const

将地理矩形的属性作为字符串返回。

注意:此函数可以通过元对象系统和QML调用。请参阅Q_INVOKABLE

QGeoCoordinate QGeoRectangle::topLeft() const

返回此地理矩形的左上角坐标。

注意:topLeft属性的getter函数。

参见:setTopLeft

QGeoCoordinate QGeoRectangle::topRight() const

返回此地理矩形的右上角坐标。

注意:topRight属性的getter函数。

参见:setTopRight

[可调用] void QGeoRectangle::translate(double degreesLatitude, double degreesLongitude)

通过北纬的 degreesLatitude 和东经的 degreesLongitude 转换此地理矩形。

degreesLatitudedegreesLongitude 的负值分别对应南向和西向的转换。

如果转换会导致地理矩形穿过极点,地理矩形将移转,直到地理矩形的顶部或底部边缘触及极点,但不会更远。

注意:此函数可以通过元对象系统和QML调用。请参阅Q_INVOKABLE

[可调用] QGeoRectangle QGeoRectangle::translated(double degreesLatitude, double degreesLongitude) const

返回一个副本,该副本比此地理矩形北纬 degreesLatitude 且东经 degreesLongitude 转换。

degreesLatitudedegreesLongitude 的负值分别对应南向和西向的转换。

注意:此函数可以通过元对象系统和QML调用。请参阅Q_INVOKABLE

另请参阅 translate

[可调用] QGeoRectangle QGeoRectangle::united(const QGeoRectangle &rectangle) const

返回包含此地理矩形和 rectangle 的最小地理矩形。

如果两个地理矩形的中心相隔 Exactly 180.0 度,则宽度设置为 360.0 度,最左经度设置为 -180.0 度,最右经度设置为 180.0 度。这样做是为了确保结果不依赖于操作数的顺序。

注意:此函数可以通过元对象系统和QML调用。请参阅Q_INVOKABLE

double QGeoRectangle::width() const

以度为单位返回此地理矩形的宽度。

如果此地理矩形无效,返回值未定义。

注意: getter 函数用于宽度属性。

另请参阅 setWidth

QGeoRectangle &QGeoRectangle::operator=(const QGeoRectangle &other)

other 赋值给此地理矩形,并返回对此地理矩形的引用。

QGeoRectangle QGeoRectangle::operator|(const QGeoRectangle &rectangle) const

返回包含此地理矩形和 rectangle 的最小地理矩形。

如果两个地理矩形的中心相隔 Exactly 180.0 度,则宽度设置为 360.0 度,最左经度设置为 -180.0 度,最右经度设置为 180.0 度。这样做是为了确保结果不依赖于操作数的顺序。

QGeoRectangle &QGeoRectangle::operator|=(const QGeoRectangle &rectangle)

返回包含此地理矩形和 rectangle 的最小地理矩形。

如果两个地理矩形的中心相隔 Exactly 180.0 度,则宽度设置为 360.0 度,最左经度设置为 -180.0 度,最右经度设置为 180.0 度。这样做是为了确保结果不依赖于操作数的顺序。

© 2024 Qt 公司有限公司。此处包含的文档贡献是各自所有者的版权。本提供的文档是在自由软件基金会发布的 GNU 自由文档许可版本 1.3 条款下许可的。Qt 及相关标志是芬兰的 Qt 公司及其在全球的 商标。所有其他商标均为各自所有者的财产。