ArcGIS API For Flex 动态画点和线

发布时间:2016-12-6 13:55:59 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"ArcGIS API For Flex 动态画点和线",主要涉及到ArcGIS API For Flex 动态画点和线方面的内容,对于ArcGIS API For Flex 动态画点和线感兴趣的同学可以参考一下。

ArcGIS Api For Flex 动态画点和线 上一篇 / 下一篇  2011-10-12 16:04:01 / 个人分类:软件技术 查看( 1109 ) / 评论( 0 ) / 评分( 0 / 0 ) 在项目当中往往会用到在地图上跟踪GPS目标,这就需要在地图上动态画GPS点和行动轨迹,下面来看看在Flex 中是如何做到的: 代码如下: <?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.*" minWidth="955" minHeight="600" xmlns:esri="http://www.esri.com/2008/ags"       initialize="init()"       >      <fx:Script>   <![CDATA[    import com.esri.ags.Graphic;    import com.esri.ags.SpatialReference;    import com.esri.ags.geometry.MapPoint;    import com.esri.ags.geometry.Polyline;    import com.esri.ags.layers.GraphicsLayer;    import com.esri.ags.symbols.SimpleLineSymbol;    import com.esri.ags.symbols.SimpleMarkerSymbol;    import mx.controls.Alert;    private var arr:Array=     [new MapPoint(123.361328,41.265625,new SpatialReference(5326)),      new MapPoint(123.720703,41.703125,new SpatialReference(5326)),      new MapPoint(123.431641,41.320313,new SpatialReference(5326)),      new MapPoint(123.646484,41.515625,new SpatialReference(5326)),      new MapPoint(123.763272,41.734675,new SpatialReference(5326)),      new MapPoint(123.248047,41.710938,new SpatialReference(5326)),      new MapPoint(124.248047,42.510938,new SpatialReference(5326)),      new MapPoint(123.748047,43.210938,new SpatialReference(5326)),      new MapPoint(123.748047,43.210938,new SpatialReference(5326))     ];    private var polyine:Polyline=new Polyline();    private var graphicsLayer:GraphicsLayer=new GraphicsLayer();    private var grahpic:Graphic=new Graphic();        private function init():void    {     graphicsLayer.add(grahpic);     Map.addLayer(graphicsLayer);    }         private function PlayPoint(e:MouseEvent):void    {          graphicsLayer.clear();     var i:int=0;     var timer:Timer = new Timer(1000, arr.length-1);     timer.addEventListener(TimerEvent.TIMER, TimerMethod);     timer.start();     function TimerMethod(event:TimerEvent):void     {      var mps:Array=new Array;      var mpStat:MapPoint=arr[i] as MapPoint;                  grahpic=new Graphic(mpStat,sps);            graphicsLayer.add(grahpic);      i=i+1;     }    }    private function PlayLine(e:MouseEvent):void    {          polyine=new Polyline();     var i:int=0;     var timer:Timer = new Timer(1000, arr.length-1);     timer.addEventListener(TimerEvent.TIMER, TimerMethod);     timer.start();     function TimerMethod(event:TimerEvent):void     {      var mps:Array=new Array;      var mpStat:MapPoint=arr[i] as MapPoint;      var mpEnd:MapPoint=arr[i+1] as MapPoint;      mps.push(mpStat);      mps.push(mpEnd);      polyine.addPath(mps);              grahpic=new Graphic(polyine,sls);            graphicsLayer.add(grahpic);      i=i+1;     }    }             ]]>  </fx:Script>  <fx:Declarations>   <!-- 将非可视元素(例如服务、值对象)放在此处 -->   <esri:SimpleLineSymbol id="sls"           width="3"           color="0x00FF00"/>   <esri:SimpleMarkerSymbol id="sms"          color="0x00FF00"          size="12"          style="square"/>   <esri:PictureMarkerSymbol id="sps" source="http://localhost/Red_glow.swf"  width="20" height="20" />    </fx:Declarations>  <esri:Map id="Map" >   <esri:ArcGISDynamicMapServiceLayer url="xxx "/>  </esri:Map>      <mx:ControlBar  width="100%" top="0" left="0" paddingTop="0" paddingBottom="0"   horizontalAlign="left" >   <mx:Button label="开始点轨迹"  width="100" fontSize="12" click="PlayPoint(event)"/>   <mx:Button label="开始线轨迹"  width="100" fontSize="12" click="PlayLine(event)"/>  </mx:ControlBar>   </s:Application>

上一篇:OpenGL镂空
下一篇:华为手机坑人,华为客服坑爹

相关文章

相关评论