Arcgis server9.3中坐标转换方法及动态添加层

 

一。客户端的转换方法

9.3的客户端封装了自己坐标的方法,可以说是方便多了,不用自己去服务端拿来,请看下面的列子

 

function ToImgXY(Tmapx,Tmapy)地理坐标转到图片的坐标

{

     var temppt=new ESRI.ADF.Geometries.Point(Tmapx,Tmapy);

                          var map = $find(wave_mapid);

                          var tmpobj=map.toScreenPoint(temppt); //地理坐标转到图片的坐标

  return tmpobj;

}

//return pt

function ToMapXY(Timgx,Timgy)图片的坐标转到地理坐标

{

   

                          var map = $find(wave_mapid);

                          var tmpobj=map.toMapPoint(Timgx,Timgy); //返回 ESRI.ADF.Geometries.Point

  return tmpobj;

}

 

1.通过screenPt.offsetXscreenPt.offsetY获取转换好后的屏幕坐标

2.通过tmpobj.get_x()tmpobj.get_y()获取转换好后的地理坐标

 

二。服务器端的转换方法

 

9.39.2相比较 ESRI公司吧前段的脚本库也改成基于ASP.NET AJAX 的类库,搞的很是看不懂 ,头都大了!也只能看找资料啃啃,这里推荐一下实用的链接:

  园子里的,比较实用(AJAX 教程)

http://www.cnblogs.com/webabcd/archive/2008/02/25/1081194.html

在这里也推荐一个工具Aptana 方便大家看新的类库中方法还有对象

http://www.cnblogs.com/jackielin/archive/2006/11/07/Aptana1.html

 

 

下面提一点关于客户端的问题(比较浅

问题一 ------地图上加DIV

情况是这样的,原来的9.2版本中,我们在地图上加上自己的DIV,显示一些信息

原来的方法只要把事件如下  (js脚本)

               map.divObject.ondblclick=creatshape //map是客户端地图对象

9.3的实现方法

    map._containerDiv.ondblclick=creatshape;//map是客户端地图对象

类似的比如你加自己的DIV到地图上去也是

   var map = $find(wave_mapid);

                map._containerDiv.appendChild(this.bqshape);

 

你可能感兴趣的:(server)