0

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

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”。显然这是不正确的。我是否将类型转换为文本搞砸了?

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

4

1 回答 1

0

其实我自己想通了。这一行:

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

应该:

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

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

于 2017-08-07T11:12:26.870 回答