arcgisviewer for flex 实现as 和 mxml传递变量
一:问题由来 (1)今天遇到了一个问题:首先根据多组经纬度把小图标定位到地图上,之后点击小图标显示各自的信息,可是总是显示最后一个经纬度传过来的信息,如何获取PictureMarkerSymbol 的id (2)现在点击PictureMarkerSymbol图标,总是显示最后一个经纬度的信息,怎么实现呢? (3)是不是 var so:SharedObject = SharedObject.getLocal("ccc","/"); ?SharedObject的问题?(事实上是的) (4)最开始想通过obj传递过去,为空null代码图如下 (5)单机之后的效果图: (6)这也是一个问题,造成运行灰常的慢。 (7)var so:SharedObject = SharedObject.getLocal("ccc","/"); ?SharedObject,造成总是获得最后一个id的信息。 二:解决问题 (1)功能实现 ——?就是根据一组经纬度实现定位各个小图标在地图上,之后点击各个图表分别显示各自的信息。 (2)代码实现(包装一下)
import com.esri.ags.Graphic; import com.esri.ags.Map; import spark.modules.Module;// 上面三个都是必须用到的 import widgets.zyp.BeiDouWidget2;// 自定义的mxml import flash.events.MouseEvent; import flash.external.ExternalInterface; import flash.geom.Point; private var curMap:Map; private var curGraphicsLayer:GraphicsLayer; private var curPopup:Module;// 对应三个的对象 //在指定经纬度绘制infosymbol(可以是多个) 正确版本 private var htmlContent:widgets.zyp.BeiDouWidget2; [Embed(source="assets/images/satellite.png")] private const pic:Class; public function drawInfoSymbol(lat:Number,lon:Number,information:String):void { var pictureMarkerSymbol:PictureMarkerSymbol = new PictureMarkerSymbol(pic,40,40);// url,heigth,width var pictureMarkerSymbolGraphic:Graphic = new Graphic(new MapPoint(lon,lat),pictureMarkerSymbol); curGraphicsLayer.add(pictureMarkerSymbolGraphic);//添加小红旗 pictureMarkerSymbolGraphic.addEventListener(MouseEvent.CLICK,function(event:MouseEvent):void {// 包装的点击事件 var bd:BeiDouWidget2 = new BeiDouWidget2(); bd.content = information; curMap.infoWindowContent = bd; curMap.infoWindow.show(curMap.toMapFromStage(event.stageX,event.stageY)); }) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |