如何使用ArcGIS for QML / QT检索地图比例?

时间:2017-08-07 11:04:50

标签: qt qml arcgis arcgis-runtime

我正在构建一个使用ArcGIS SDK的简单QML应用程序,目前的目的只是学习SDK功能。 我想要做的是有一个可缩放的地图和一个显示当前地图比例的文本框。以下是我为此编写的代码,基于ArcGIS website上的示例。

import QtQuick 2.6
import QtQuick.Controls 1.4
import Esri.ArcGISRuntime 100.1

ApplicationWindow {
    id: appWindow
    width: 800
    height: 600
    title: "Untitled"
    MapView {
        id: mainmapview
        attributionTextVisible: false
        anchors.topMargin: 0
        anchors.rightMargin: 0
        anchors.fill: parent
        focus: true
        Map {
            id: mainmap
            BasemapLightGrayCanvasVector {}
        }
        onMapScaleChanged: scaletext.text=mainmapview.scale.toString()

        Text {
            id: scaletext
            x: 10
            y: 10
            width: 285
            height: 45
            text: qsTr("Text")
            font.pixelSize: 12
        }
    }
}

地图加载,我可以看到它没问题,但是比例文本框不起作用:它总是将比例显示为' 1',无论我放大或缩小多少。显然这不正确。我是否将类型转换搞乱到文本?

关于如何解决这个问题的任何指示都会很棒。感谢。

1 个答案:

答案 0 :(得分:0)

其实我自己弄清楚了。这一行:

onMapScaleChanged: scaletext.text=mainmapview.scale.toString()

应该是:

onMapScaleChanged: scaletext.text=mainmapview.mapScale.toString()

如果其他人遇到同样的问题并且可以通过谷歌找到这个问题,我可以回答问题,而不是删除问题。