ArcGIS Api For Flex 动态画点和线

原创 2013年12月05日 11:21:15

在项目当中往往会用到在地图上跟踪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,newSpatialReference(5326)),
     new MapPoint(123.720703,41.703125,newSpatialReference(5326)),
     new MapPoint(123.431641,41.320313,newSpatialReference(5326)),
     new MapPoint(123.646484,41.515625,newSpatialReference(5326)),
     new MapPoint(123.763272,41.734675,newSpatialReference(5326)),
     new MapPoint(123.248047,41.710938,newSpatialReference(5326)),
     new MapPoint(124.248047,42.510938,newSpatialReference(5326)),
     new MapPoint(123.748047,43.210938,newSpatialReference(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>

 

ArcGIS API For Flex 动态画点和线

ArcGIS Api For Flex 动态画点和线 上一篇 / 下一篇  2011-10-12 16:04:01 / 个人分类:软件技术 查看( 1109 ) / 评论( 0 )...
  • lvdou2518
  • lvdou2518
  • 2013年09月04日 16:45
  • 774

Graphics in the ArcGIS API for Flex(ArcGIS中的图形层)

原文摘录
  • xiaokui_wingfly
  • xiaokui_wingfly
  • 2014年09月04日 17:32
  • 1150

ArcGIS Api For Flex 动态画点和线(2)

通过webservices和flex交互取得数据库中的gps坐标动态显示在地图上。     1.建立数据库:     2.建立webservices:   using Syst...
  • SYDBC
  • SYDBC
  • 2013年12月05日 11:25
  • 2019

arcgis api for flex 地图选点画线 可拖动变色【写给已逝去的arcgis flex】

简单的 arcgis api for flex 画线
  • u010284488
  • u010284488
  • 2017年06月13日 11:29
  • 279

ArcGIS API for JavaScript——绘制工具(Draw)

ArcGIS API for JavaScript——绘制工具(Draw) 在WEB GIS开发过程中,我们不可避免的会用到绘制工具。比如利用绘制工具执行查询任务和利用绘制工具绘制空间分析的处理范...
  • agisboy
  • agisboy
  • 2017年05月13日 17:08
  • 3614

arcgis api for flex 中文教程

人就是有时候会觉着蛋疼,尤其是搞IT的。沉不住气,今天看点这个,明天看点别的。那翻译这个教程也是想对自己有个耐心的训练,并且也能学习一下,代替了一部分划拉朋友圈的时间。虽然谈不上是高深的东西,但中文对...
  • xiliangxiaoke
  • xiliangxiaoke
  • 2015年04月17日 11:43
  • 2545

Arcgis for javascript API代码实现TimeSlider功能

var portlandLandBase = new esri.layers.ArcGISDynamicMapServiceLayer(Aserviceurl + parameid.replace('...
  • zkcharge
  • zkcharge
  • 2013年12月16日 15:26
  • 1827

ArcGIS API For Flex(在应用程序中添加web地图)

Add the web map to the application 原文摘录:https://developers.arcgis.com/flex/guide/tutorial-add-a-web-...
  • xiaokui_wingfly
  • xiaokui_wingfly
  • 2014年08月29日 12:38
  • 1506

ArcGIS For JavaScript API 添加一个dynamic Service(动态服务)————(一)

描述: 此示例演示如何添加一个地图绘制的服务器在用户每次缩放或平移。这样的地图不具有高速缓存的瓦片,被称为动态地图服务层。在ArcGISJavaScript API的动态地图服务为代表的ArcGI...
  • xiaokui_wingfly
  • xiaokui_wingfly
  • 2013年01月06日 11:19
  • 2921

arcgis for flex api version3.7 教程:1.添加地图和图层

下面的步骤将引导你在你的flex应用中添加一个底图(basemap layer)。我们假设你已经建立了一个空白 的工程,已经引入了arcgis for flex api的库。没有引入自己去引入。 ...
  • xiliangxiaoke
  • xiliangxiaoke
  • 2015年03月26日 16:45
  • 1708
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ArcGIS Api For Flex 动态画点和线
举报原因:
原因补充:

(最多只允许输入30个字)