初步认识

  地图由图层、要素、样式等组成。地图上有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 学习笔记(一)的更多相关文章

  1. CSS3伸缩布局Flex学习笔记

    如果需要使用伸缩布局首先得把display:flex;对于兼容还得加前缀display:-webkit-display:flex;等其他浏览器前缀,但我本机Chrome测试已经不需要加前缀了,其实这些 ...

  2. ArcGIS AddIN Sample学习笔记

    1.AddInEditorExtension 功能描述:编辑器扩展,实现在编辑要素,对编辑事件的监听,及对新创建的要素的处理 核心代码: void Events_OnStartEditing() { ...

  3. Flex学习笔记-皮肤

    1文件结构 MXML应用程序 index.mxml 皮肤文件 components.button.skin.btnSkin1.mxml  皮肤文件的组件随便引用了spark.components.Bu ...

  4. Flex学习笔记-时间触发器

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  5. Flex学习笔记-Vgropu Hgroup 定义的组 表单程序。

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  6. Flex学习笔记-自定义菜单的显示细节

    icon <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx=&qu ...

  7. Flex学习笔记--多层菜单按钮

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  8. Flex学习笔记-使用MXML和一个AS事件监听器监听事件

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  9. flex学习笔记 使用函数,显示实时更新的标签

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

随机推荐

  1. sed 集合(项目中的笔记)

    奇数行和偶数行合并为一行: Like: Sequence number: 5398Sequence name: Glyma.16G123500.1Sequence number: 5399Sequen ...

  2. jquery框架一点小心得

    下面的小事例 主要实现了 一和按ID查找,并获取元素的 value 或 标签内容和一个去字符串空格的小功能能 假设元素id=“myid”: 获取标签内容$("myid").html ...

  3. Git 上传本地仓库到码云

    一.将本地的项目上传到码云 1.码云上创建一个项目 testgit (名字随你) 2.本地创建一个文件夹D:/testgit,然后使用git bash 3.cd 到本地文件夹中D:/testgit 4 ...

  4. Python简要标准库(5)

    hashlib Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 基本的生成MD密匙的函数 import hashlib md5 = hashlib.md5() md5.up ...

  5. Leetcode 678.有效的括号字符串

    有效的括号字符串 给定一个只包含三种字符的字符串:( ,) 和 *,写一个函数来检验这个字符串是否为有效字符串.有效字符串具有如下规则: 任何左括号 ( 必须有相应的右括号 ). 任何右括号 ) 必须 ...

  6. 官方文档 恢复备份指南七 Using Flashback Database and Restore Points

    本章内容: Understanding Flashback Database, Restore Points and Guaranteed Restore Points Logging for Fla ...

  7. ACM做题随做随思

    程序停止运行:数组开太大: 输入一串单词,可以“string s; while(cin>>s){//代码块}”,因为cin>>s遇到空格会停止: map<key,valu ...

  8. Hibernate配置实体类的属性

    Hibernate配置实体类的属性既可以在页面显示关联实体类的所有属性,在插入该属性时又可以只插入单一属性 private String companyCode; private CompanyEnt ...

  9. android扁平化ProgressBar--progressWheel

    ProgressWheel是git是一个开源项目,为开发者提供一个扁平化的ProgressBar,并可对其进行深度定制   1,将ProgressWheel的源码拷贝到项目中 public class ...

  10. 用OneNote写博客的方法

    1.进入OneNote要发布博客的分区然后点击菜单栏中的文件         2.点击发送至博客         3.这时候会启动word程序弹出下面的对话框(如果你从未设置过)点击立即注册     ...