坐标 QML 值类型

坐标类型表示并存储地理位置。更多信息...

导入声明import QtPositioning

详细描述

此类型是 QGeoCoordinate 的 QML 表示,并以纬度、经度和海拔属性的形式表示地理位置。纬度属性指定赤道上方和下方的十进制度数。纬度为正值表示北半球,为负值表示南半球。经度属性指定东西方向的十进制度数。经度为正值表示东半球,为负值表示西半球。海拔属性指定海平面以上的米数。这些属性一起指定了地球表面或附近的三维位置。

可以使用 isValid 属性来检查坐标是否有效。如果一个坐标具有有效的纬度和经度,则认为它是有效的。有效的高度不是必需的。纬度必须在 -90 到 90(含)之间,经度必须在 -180 到 180(含)之间。

coordinate 类型在 Qt 位置模块的许多其他类型中被使用,用于指定地图上对象的位置、设备的当前位置以及许多其他任务。它们还提供了一些重要的实用方法,使得一些复杂的计算变得简单易用,例如 atDistanceAndAzimuth()。

精度

存储在坐标类型中的纬度、经度和海拔属性表示为双精度,提供大约 16 位十进制精度——足以指定微米。坐标的方法(如 azimuthTo() 和 distanceTo)进行的计算也使用双精度表示所有中间值,但它们球形地球模型固有的不准确度决定了输出的错误量。

示例用法

使用类型为 var 的属性来存储坐标。要创建坐标,请使用以下描述中的一种方法。在任何情况下,指定 altitude 属性都是可选的。

要创建坐标值,请使用 QtPositioning.coordinate() 函数

import QtPositioning

Location { coordinate: QtPositioning.coordinate(-27.5, 153.1) }

或使用单独的 latitudelongitudealtitude 组件

Location {
    coordinate {
        latitude: -27.5
        longitude: 153.1
    }
}

当与C++集成时,请注意,从C++传到QML的任何QGeoCoordinate值将自动转换为坐标值,反之亦然。

属性

纬度

real latitude

此属性包含地理位置的纬度值(十进制度)。正值纬度表示北半球,负值纬度表示南半球。如果该属性尚未设置,其默认值是NaN。

有关详细信息,请参阅QGeoCoordinate::latitude属性

经度

real longitude

此属性包含地理位置的经度值(十进制度)。正值经度表示东半球,负值经度表示西半球。如果该属性未设置,其默认值是NaN。

有关详细信息,请参阅QGeoCoordinate::longitude属性

海拔

real altitude

该属性包含海拔值(海平面以上米)。如果该属性未设置,其默认值是NaN。

有关详细信息,请参阅QGeoCoordinate::altitude属性

isValid

bool isValid

该属性包含坐标的有效性。如果坐标设置为有效的纬度和经度(海拔不是必需的),则认为是有效的。

纬度必须在-90到90(包含)之间才能认为是有效的,经度必须在-180到180(包含)之间才能认为是有效的。

这是一个只读属性。

方法

distanceTo()

real distanceTo(coordinate other)

返回从当前坐标到由other指定的坐标的距离(以米为单位)。海拔在计算中不被使用。

此计算返回两个坐标之间的大圆距离,假设地球在此计算中是球形的。

azimuthTo()

real azimuth(coordinate other)

返回从当前坐标到由other指定的坐标的方位角(或航向角),以度为单位。海拔在计算中不被使用。

在此次计算中,假设地球是球形的。

atDistanceAndAzimuth()

coordinate atDistanceAndAzimuth(real distance, real azimuth)

返回一个大圆上从当前坐标出发,按照azimuth度行进distance米后到达的坐标。

在此次计算中,假设地球是球形的。

© 2024 Qt公司有限公司。本文件中包含的文档贡献是各自所有者的版权。本文件中提供的文档是根据免费软件基金会发布的GNU自由文档许可证版本1.3的条款许可的。Qt及其相应的标志是芬兰和/或其他国家的Qt公司有限公司的商标。所有其他商标均为各自所有者的财产。