怎样获得当前地图的比例尺和X、Y坐标?(SO开发)

来源:互联网 发布:大数据专业考研学校 编辑:程序博客网 时间:2024/05/21 08:41

       这个问题困扰了我好几天,终于在今天被我无意中做出来了,写出来分享一下。

       对于如何获得当前地图的比例尺?

       我们都知道axsupermap有一个ViewScale属性,该属性主要是设置当前地图的比例尺,也就是为1/原始比例尺。我们可以充分的利用这个属性来获得我们想要的答案——显示当前地图的比例尺。即“当前的比例尺为:”+“1:”+1/axsupermap.ViewScale。

       对于如何获得当前的地图的X、Y坐标?

       我们这里讨论的是地理坐标的获取,其它的在这里就不介绍了。我们都知道axsupermap中有两个方法来获得地理坐标,一个是PixelToMapX,另一个是PixelToMapY,这两个方法的作用是将一个点在像素空间中的列号转换为地理坐标 ,返回转换后的 坐标。所以要实现获得当前地图的X、Y坐标,这两个方法是必须要用到的。第一步,我们必须要先实例化点对象(soPoint);第二步,我们要获得点X、Y的地理坐标,即使用上面提到的axsupermap的两种方法;第三步,直接输出坐标。关键代码如下所示:

            soPoint objpoint = new soPoint();
            objpoint.x = axSuperMap1.PixelToMapX(e.x);
            objpoint.y = axSuperMap1.PixelToMapY(e.y);
            uiStatusBar1.Panels[2].Text = "X=" + Convert.ToString(objpoint.x) + "米" + "," + "Y=" + Convert.ToString(objpoint.y) + "米";

      这样我们就完成了怎样获得当前地图的比例尺和X、Y坐标了。