如何使用 ArcGIS 检索 QML/QT 的地图比例?
How to retrieve map scale using ArcGIS for QML/QT?
我正在构建一个使用 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”。显然这是不正确的。我搞砸了类型转换为文本吗?
任何关于如何解决这个问题的建议都很好。谢谢
其实是我自己想出来的。这一行:
onMapScaleChanged: scaletext.text=mainmapview.scale.toString()
应该是:
onMapScaleChanged: scaletext.text=mainmapview.mapScale.toString()
而不是删除我已经回答的问题,以防其他人遇到同样的问题并且可以通过 google 找到它。
我正在构建一个使用 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”。显然这是不正确的。我搞砸了类型转换为文本吗?
任何关于如何解决这个问题的建议都很好。谢谢
其实是我自己想出来的。这一行:
onMapScaleChanged: scaletext.text=mainmapview.scale.toString()
应该是:
onMapScaleChanged: scaletext.text=mainmapview.mapScale.toString()
而不是删除我已经回答的问题,以防其他人遇到同样的问题并且可以通过 google 找到它。