arcgis for flex 学习笔记(一)
初步认识
地图由图层、要素、样式等组成。地图上有N个图层,图层上有N个要素,每个要素可以存放点、线、面等,每个要素可以设置样式,如果显示图片、或文字均可以先创建一个mxml组件,然后设置到要素上。
面和线都是由点组成的。
添加点
1.首先初始化图层,GraphicsLayer。
2.获取坐标点,MapPoint。
3.创建要素,Graphic。
4.设置样式 Symbol。
5.添加要素至Layer,即是第一步创建的图层。
添加线
在添加点的基础上多了一个步骤。
获取到多个点,可以实例化一个线对象,将线添加到点中。
//构造线对象
var pline:Polyline=new Polyline(); //添加点数据到线
pline.addPath(xydata);
其他步骤相同,xydata是一个MapPoint数组。
添加面
跟添加线的逻辑一样,面也是由n个点组成。核心代码如下:
var area:Polygon=new Polygon();
area.addRing(xydataArea);
图层
图层按照先后添加顺序,好比html的zindex属性。最先添加的属性在下方。如果说,同时添加一个面和线,而线要做点击事件,那么线所处的图层应该在面之上。
高亮闪烁
创建一个symbolToggleEffect对象,设置其样式,在MouseOver事件中,开始动画,MouseOut事件中结束动画。
private static var symbolToggleEffect:SimpleFiltersToggleEffect; //高亮对象
private static var filterMarker:GlowFilter=null; //高亮样式
private static var simfilterArray:Array=[]; //过滤对象数组 public static function DrawVehAreaOver(evt:MouseEvent):void
{
if (symbolToggleEffect)
symbolToggleEffect.end(); var targetGarphic:Graphic=evt.currentTarget as Graphic; //获取图层
var layer:GraphicsLayer=GetAreaLayer(); //找到缓冲区图层,存在则隐藏
var currArea:Graphic=FindGraphicByAttr(layer, "AREAID", targetGarphic.attributes.USERID); if (currArea)
{
currArea.visible=true; //开始高亮
if (!symbolToggleEffect)
{
if (!filterMarker)
{
InitSyle();
}
symbolToggleEffect=new SimpleFiltersToggleEffect(currArea, null, simfilterArray, 500);
} symbolToggleEffect.play();
}
} //昂是初始化
private static function InitSyle():void
{
//高亮样式
if (!filterMarker)
{
var objselectedHouse:Object=RGlobal.MapUrlArrayList["FeatureStyles"].SelectHouse;
filterMarker=new GlowFilter();
filterMarker.color=objselectedHouse.fillcolor;
filterMarker.blurX=20;
filterMarker.blurY=20;
filterMarker.alpha=objselectedHouse.fillopacity;
filterMarker.strength=2;
simfilterArray.push(filterMarker);
}
} /*线路要素 移出
*/
public static function DrawVehAreaOut(evt:MouseEvent):void
{
if (symbolToggleEffect)
symbolToggleEffect.end();
var targetGarphic:Graphic=evt.currentTarget as Graphic; //获取图层
var layer:GraphicsLayer=GetAreaLayer(); //找到缓冲区图层,存在则隐藏
var currArea:Graphic=FindGraphicByAttr(layer, "AREAID", targetGarphic.attributes.USERID); if (currArea)
{
currArea.visible=false;
}
}
arcgis for flex 学习笔记(一)的更多相关文章
- CSS3伸缩布局Flex学习笔记
如果需要使用伸缩布局首先得把display:flex;对于兼容还得加前缀display:-webkit-display:flex;等其他浏览器前缀,但我本机Chrome测试已经不需要加前缀了,其实这些 ...
- ArcGIS AddIN Sample学习笔记
1.AddInEditorExtension 功能描述:编辑器扩展,实现在编辑要素,对编辑事件的监听,及对新创建的要素的处理 核心代码: void Events_OnStartEditing() { ...
- Flex学习笔记-皮肤
1文件结构 MXML应用程序 index.mxml 皮肤文件 components.button.skin.btnSkin1.mxml 皮肤文件的组件随便引用了spark.components.Bu ...
- Flex学习笔记-时间触发器
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- Flex学习笔记-Vgropu Hgroup 定义的组 表单程序。
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- Flex学习笔记-自定义菜单的显示细节
icon <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx=&qu ...
- Flex学习笔记--多层菜单按钮
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- Flex学习笔记-使用MXML和一个AS事件监听器监听事件
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- flex学习笔记 使用函数,显示实时更新的标签
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
随机推荐
- Django笔记 —— 基础部分总结
最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...
- 了解url
我对自己知道关于url的编码和解码的一些进行了一下整理. 我们的例子是百度翻译的地址: http://fanyi.baidu.com/translate#en/zh/The%20%22%3F%20ar ...
- 「Haskell 学习」一 环境与大致了解
感谢<Real World Haskell>在网上的免费发布,可以白嫖学Haskell这个久闻大名的函数式编程语言了. 本文运行于openSUSE Tumbleweed下,运行相关命令时留 ...
- Qt 报错LINK2019:无法解析的外部符号
这里用的都是Qt 自己的东西,但是还是抱错,所以怀疑是没有包含进去,尝试了清理项目,重新编译等,还是不行 用到一个最好的办法,就是把构建的文件夹整个删除,在重新编译就可以了 如图所示,把debug和r ...
- C++学习003-#define 自定义宏
C++中可以用#define来定义自定义的宏 也可以用使用#define来定义常量 但是#define只是简单的替换,在定义常量的时候没有语法检测 所以在C++定义常量可以使用 Const修饰 #d ...
- linux下安装redis及主从配置
安装比较简单,确保linux安装有gcc # gcc -v 查看gcc版本,如果没有yum安装即可 安装开始 1.redis-3.2.8.tar.gz 上传至服务器 (百度网盘:http://pan. ...
- 1003 Emergency (25 分)(求最短路径)
给出N个城市,m条无向边.每个城市中都有一定数目的救援小组,所有边的边权已知.现在给出起点和终点,求从起点到终点的最短路径条数及最短经上的救缓小组数目只和.如果有多条最短路径,则输出数目只和最大的 D ...
- PAT——乙级1006:换个格式输出整数&乙级1021:个位数统计&乙级1031:查验身份证
1006 换个格式输出整数 (15 point(s)) 让我们用字母 B 来表示“百”.字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 ...
- git - work flow
git status – Make sure your current area is clean. git pull – Get the latest version from the remote ...
- 软件工程项目组Z.XML会议记录 2013/10/22
软件工程项目组Z.XML会议记录 [例会时间]2013年10月22日星期二21:00-22:30 [例会形式]小组讨论 [例会地点]三号公寓楼会客厅 [例会主持]李孟 [会议记录]周敏轩 会议整体流程 ...