将面生成经纬度数组并读取显示(Arcgis版)

来源:互联网 发布:淘宝互联是假的 编辑:程序博客网 时间:2024/06/04 19:35

下面是源代码

<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"   xmlns:s="library://ns.adobe.com/flex/spark"   xmlns:mx="library://ns.adobe.com/flex/mx"   xmlns:supportClasses="com.esri.ags.skins.supportClasses.*"   width="100%"   height="100%"   xmlns:esri="http://www.esri.com/2008/ags"><s:layout><supportClasses:AttachmentLayout/></s:layout><fx:Declarations><!-- 将非可视元素(例如服务、值对象)放在此处 --><esri:SimpleFillSymbol id="sym"   alpha="0.7"   color="0x009933"/></fx:Declarations><fx:Script><![CDATA[import com.esri.ags.FeatureSet;import com.esri.ags.Graphic;import com.esri.ags.SpatialReference;import com.esri.ags.geometry.MapPoint;import com.esri.ags.geometry.Polygon;import com.esri.ags.geometry.Polyline;import com.esri.ags.layers.GraphicsLayer;import com.esri.ags.symbols.PictureMarkerSymbol;import com.esri.ags.symbols.Symbol;import com.esri.ags.tasks.QueryTask;import com.esri.ags.tasks.supportClasses.Query;import mx.collections.ArrayCollection;import mx.controls.Alert;import mx.rpc.AsyncResponder;[Bindable]private var AC:ArrayCollection=new ArrayCollection();private function getxy():void{var query:Query=new Query(); //定义新的查询query.where="PNAME IS NOT NULL"; //这里是查询条件var queryTask:QueryTask=new QueryTask("http://192.168.1.200:6080/arcgis/rest/services/CLfb/MapServer/2"); //定义查询实时信息的任务query.returnGeometry=true;query.spatialRelationship="esriSpatialRelIntersects";query.outSpatialReference=new SpatialReference(102113); //这里定义投影系统query.outFields=['PNAME']; //查询字体queryTask.useAMF=false;queryTask.execute(query, new AsyncResponder(OnR, OnF));function OnR(featureSet:FeatureSet, token:Object=null):void{var i:int=0;var txtXY:String="";//----------------写入过程---------------for each (var gra:Graphic in featureSet.features){AC=new ArrayCollection();var po:Polygon=gra.geometry as Polygon;var z:int=0;txtXY="";for (z=0; z < po.rings.length; z++){var pArr:Array=po.rings[z];for (var k:int=0; k < pArr.length; k++){var p:MapPoint=pArr[k] as MapPoint;var o:Object=new Object();o.x=p.x;o.y=p.y;txtXY+=p.x + "," + p.y + ";";}txtXY+="/";}xylabel.text=xylabel.text + txtXY;lb.text=i / featureSet.features.length * 100 + "%";i++;}ok.text="成功"//----------------写入过程---------------}function OnF(info:Object, token:Object=null):void{ok.text="失败";}}private function getSym(i:int):SimpleFillSymbol{var sym:SimpleFillSymbol=new SimpleFillSymbol();sym.alpha=0.7;switch (i){case 0:{sym.color=0x009933;break;}case 1:{sym.color=0x0033DD;break;}case 2:{sym.color=0xddb100;break;}case 3:{sym.color=0xdd4400;break;}case 4:{sym.color=0x00dd1a;break;}case 5:{sym.color=0xdd0068;break;}default:{sym.color=0x009939;break;}}return sym;}protected function button1_clickHandler(event:MouseEvent):void{var arr:Array=xylabel.text.split("/"); //开始解析坐标点var pl:Polygon;var arrP:Array;var centerP:MapPoint;var sp:SpatialReference=new SpatialReference(102113);var arrPALL:Array;for (var n:int=0; n < arr.length; n++){arrPALL=new Array();if (arr[n] != null && arr[n] != ""){arrP=new Array();var arr2:Array=arr[n].toString().split(";");for (var k:int=0; k < arr2.length; k++) //分别读取坐标组{if (arr2[k] != null && arr2[k] != null){var arr3:Array=arr2[k].toString().split(",");if (arr3[0] != null && arr3[0] != "" && arr3[1] != null && arr3[1] != ""){var _Point:MapPoint=new MapPoint(Number(arr3[0]), Number(arr3[1]), sp);centerP=new MapPoint(Number(arr3[0]), Number(arr3[1]), sp);arrP.push(_Point); //存放坐标组}}}arrPALL.push(arrP);}pl=new Polygon(arrPALL, sp);var g:Graphic=new Graphic(pl, getSym(n));gl.add(g);}}]]></fx:Script><s:HGroup width="100%"  height="100%"><s:VGroup width="100%"  height="100%"><s:Label text="这个页面生成xy数组"/><s:TextArea id="xylabel"width="624"height="422"/><s:Label id="lb"/><mx:Text id="ok"/><s:Button label="生成XY"  click="getxy()"/></s:VGroup><s:VGroup width="100%"  height="100%"><esri:Map id="map"  height="508"  width="638"><esri:ArcGISDynamicMapServiceLayer url="http://192.168.1.200:6080/arcgis/rest/services/CLfb/MapServer"/><esri:GraphicsLayer id="gl"/></esri:Map><s:Button label="加载"  click="button1_clickHandler(event)"/></s:VGroup></s:HGroup></s:Application>


0 0
原创粉丝点击