加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ArcGIS Api For Flex 动态画点和线

发布时间:2020-12-15 03:59:04 所属栏目:百科 来源:网络整理
导读:在项目当中往往会用到在地图上跟踪 GPS 目标,这就需要在地图上动态画 GPS 点和行动轨迹,下面来看看在 Flex 中是如何做到的: ? ? 代码如下: ? ?xml version=”1.0″encoding=”utf-8″? s:Application xmlns:fx=” http://ns.adobe.com/mxml/2009 ” ????

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读