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));
			})
			
		}




  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值