首页 > 解决方案 > 如何从 qt map.tocoordinate(Qt.point()) 获取高度?

问题描述

我一直在尝试使用 MouseArea 从 QML 地图(Qt5.12)中获取地图坐标。但问题是我只得到纬度和经度的值,高度为零。我已经浏览了文档,但仍然不知道如何更好地解释它。这是我的代码的一部分:

    onPositionChanged: {
        flightMap.focus = true
        var coordinate = flightMap.toCoordinate(Qt.point(mouse.x, mouse.y), false)

        coordinate.latitude = coordinate.latitude.toFixed(_decimalPlaces)
        coordinate.longitude = coordinate.longitude.toFixed(_decimalPlaces)
        coordinate.altitude = coordinate.altitude.toFixed(_decimalPlaces)
        coordlabel.text ="coordPosition: " + coordinate.latitude.toFixed(6)
                                    + ", " + coordinate.longitude.toFixed(6)
                                    + ", " + coordinate.altitude.toFixed(6)

        mouselabel.text ="mousePosition: " + mouse.x.toFixed(2) +
                                      ", " + mouse.y.toFixed(2) +
                            " zoomLevel: " + Math.floor(flightMap.zoomLevel);
    }

高度为 0

地图提供者: Bing

[
{
    "name":             "mapProvider",
    "shortDescription": "Currently selected map provider for flight maps",
    "type":             "string",
    "defaultValue":     "Bing"
},
{
    "name":             "mapType",
    "shortDescription": "Currently selected map type for flight maps",
    "type":             "string",
    "defaultValue":     "Hybrid"
}
]

标签: qtqml

解决方案


推荐阅读