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

		}

时间: 2024-10-12 13:29:06

arcgisviewer for flex 实现as 和 mxml传递变量的相关文章

Linux/Unix shell sql 之间传递变量

灵活结合Linux/Unix Shell 与SQL 之间的变量传输,极大程度的提高了DBA的工作效率,本文针对Linux/Unix shell sql 之间传递变量给出几个简单的示例以供参考. Linux/Unix 下调用SQL,RAMN 请参考:Linux/Unix shell 脚本中调用SQL,RMAN脚本 一.示例 [python] view plain copy print? 1.shell变量接受sql返回值之方式一 [email protected]:~> more ./retval

drupal7 使用(hook_preprocess_HOOK)向各个主题模版里面传递变量

函数地址:hook_preprocess_HOOK 1 首先解释下hook_preprocess_HOOK这个钩子的含义: hook           _     preprocess  _   HOOK [module]     _     preprocess  _   [theme hook name] 自定义的模块名字           预处理                            通过hook_theme 声明的主题 2 使用 <?php //设置变量 functi

C++学习 c++中常量定义以及值传递和传递变量别名。

1.C++提供了const来定义常量const float PI=3.14159.代替C中#define PI 3.14159 2. #include<iostream>using namespace std;void wap(int a, int b){ int temp; temp = a; a = b; b = temp;} int main(){ int i, j; cin >> i >> j; wap(i, j); cout << i <&l

在两个ASP.NET页面之间传递变量【转】

ASP.NET提供了事件驱动编程模型,使开发者简化了应用程序的总体设计,但是这个也造成了它固有的一些问题,例如,在传统的ASP里,我们可以通过使用POST方法很容易地实现页面间传递变量,同样的事情,在使用事件驱动编程模型的ASP.NET就要麻烦一些,但是我们仍然有一些方法可以实现同样的功能.笔者在这里将包含使用querystring,session变量以及server.Transfer方法来实现页面间的变量传递. 使用QueryString 使用QuerySting在页面间传递值已经是一种很老的

delphi传递变量给fastreport

delphi传递变量给fastreport 1.打开frReport报表设计.2.打开file->data dictionary加变量.这里比如加title,bm,zbr,gj,zrs3.在报表控件主放一个richtext或一个rectangle数据控件,选择刚才添加的变量.4.选择中frReport的GET Value方法,如下表:procedure Tgjdb.frReport1GetValue(const ParName: String;  var ParValue: Variant);b

Jmeter跨线程组传递变量

跨线程组传递变量只能通过属性来传递,并且属性只能传字符串变量. 如果想传数组变量,需要先将数组转化为字符串,在下一个线程组再转化为数组. [注意]在使用时要注意线程组的执行顺序.需要勾选测试计划里的独立运行每个线程组按钮. 一.beanshell自带方法 props.put("变量名","值") 全局变量赋值 props.get("变量名") 获取全局变量 这里简单介绍一个例子,从线程组1里传递给线程组2 字符串:hao123. 1)使用正则提取

254 在js调用函数时,传递变量参数时, 是值传递还是引用传递

问题: 在js调用函数时,传递变量参数时, 是值传递还是引用传递 理解1: 都是值(基本/地址值)传递 理解2: 可能是值传递, 也可能是引用传递(地址值) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>02_关于数据传递问题</title> </head> <body> <

Flex 4.6 在mxml中创建复杂Object

用mxml创建复杂Object如下 <fx:Object id="alex" name="Alex" catlog="dog">     <fx:size>         <fx:Object length="55cm" height="45cm">             <fx:detail>                 <fx:Object 

0428日重点:页面之间通过url参数的方法传递变量

1.一个页面里的变量,要传递给另一个页面,可通过把变量作为网址的url参数的方法传递,在另一个页面(接收页面)里,先获取到属性,然后放在隐藏的input里,然后表单提交! 1.传递页面的url里,把变量作为参数写进去 2. 接收页面,js获取url中的参数,并把参数放入隐藏的input里. 3.最后ajax的时候,把获取到的参数上传.