地图比例尺的概念是建立在有投影坐标系的空间参考前提下,将地图缩放到一定大小的比例值。
在多数情况下,我们都是将一个地图文档(*.mxd)加载到地图控件中(AxMapControl)显示出来,照此去获取MapScale的时候,是没问题的。
但是有时候,我们需要将一个地图文档作为一个模板去打开,而不显示时,如此去获取MapScale时,会抛出异常,提示说“完成该操作所需的数据还不可使用”。
1、定义windows获取hwnd函数
private declare auto function GetDesktopWindow Lib "user32"() as IntPtr
2、设置
Dim hwnd as Integer = GetDesktopWindow().ToInt32
AxPageLayoutControl1.ActiveView.Activate(hwnd)
3、说明
网上也有用AxPageLayoutControl1.ActiveView.Activate(AxPageLayoutControl1.hWnd)实现地图激活,但我始终不行,具体情况具体分析吧
获取地图比例尺时出现“完成该操作所需的数据还不可使用”
最新推荐文章于 2021-08-06 03:05:43 发布