收藏 分销(赏)

ArcGIS.Server.9.3及ArcGIS-API-for-Flex实现GraphicsLayer上画点、线、面(五.doc

上传人:仙人****88 文档编号:7377858 上传时间:2025-01-01 格式:DOC 页数:4 大小:230KB 下载积分:10 金币
下载 相关 举报
ArcGIS.Server.9.3及ArcGIS-API-for-Flex实现GraphicsLayer上画点、线、面(五.doc_第1页
第1页 / 共4页
ArcGIS.Server.9.3及ArcGIS-API-for-Flex实现GraphicsLayer上画点、线、面(五.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
ArcGIS.Server.9.3和ArcGIS API for Flex实现GraphicsLayer上画点、线、面(五) 目的: 1.ArcGIS API for Flex实现GraphicsLayer上画点、线、面。 准备工作: 1.这次地图数据就用Esri提供的 完成后的效果图: 开始: 1.启动Flex Builder3新建工程以及引入ArcGIS API for Flex library的开发包。 2.新建DrawTool.mxml页面,然后在页面上添加esri:Map控件设置esri:ArcGISTiledMapServiceLayer等。 3.和上一篇一样仍旧用mx:ToggleButtonBar来实现功能按钮,mx:ToggleButtonBar需要包含6个按钮分别实现6种不一样的操作,具体代码如下:  1<mx:ToggleButtonBar iconField="icon"  horizontalCenter="-47" verticalCenter="-151" itemClick="itemClickHandler(event)" toggleOnClick="true">  2        <mx:dataProvider>  3        <mx:Array>  4        <mx:Object icon="{point}" />  5        <mx:Object icon="{point2}" />  6        <mx:Object icon="{polyline3}" />  7        <mx:Object icon="{polyline}" />  8        <mx:Object icon="{polyline2}" />  9        <mx:Object icon="{polygon}" /> 10        <mx:Object icon="{polygon2}" /> 11        <mx:Object icon="{polygon3}" /> 12        </mx:Array> 13        </mx:dataProvider> 14        </mx:ToggleButtonBar> 复制代码 4.上面的代码中icon对应的图标定义在mx:Script中如下:  1//图标图片  2            [Bindable]   3            [Embed(source="assets/point.gif")]  4            public var point:Class;   5              6            [Bindable]   7            [Embed(source="assets/point2.gif")]  8            public var point2:Class;   9             10            [Bindable]  11            [Embed(source="assets/polyline.gif")] 12            public var polyline:Class;  13             14            [Bindable]  15            [Embed(source="assets/polyline3.gif")] 16            public var polyline3:Class;  17             18            [Bindable]  19            [Embed(source="assets/polyline2.gif")] 20            public var polyline2:Class;  21             22            [Bindable]  23            [Embed(source="assets/polygon.gif")] 24            public var polygon:Class;  25             26            [Bindable]  27            [Embed(source="assets/polygon2.gif")] 28            public var polygon2:Class;  29             30            [Bindable]  31            [Embed(source="assets/polygon3.gif")] 32            public var polygon3:Class;  复制代码 5.现在要实现在地图上画点、线等就需要esri:GraphicsLayer 的功能,实际上点、线、面都是画在GraphicsLayer的所以需要在Map控件中添加: 1<esri:Map id="myMap" extent="{allMap}" logoVisible="false"> 2        <esri:ArcGISTiledMapServiceLayer url=" /> 3        <esri:GraphicsLayer id="myGraphicsLayer"/>  4    </esri:Map> 复制代码 6.要进行绘制功能esri已经提供了esri:Draw这个控件能很方便的实现基本图形的绘制,使用代码如下: 1<esri:Draw id="drawToolbar" map="{myMap}" graphicsLayer="{myGraphicsLayer}" /> 7.esri:Draw有2个属性一个是要进行画图操作的地图控件,一个是画图的容器GraphicsLayer 。 8.接下来定义一下画出来的点、线、面的显示样式,代码如下: 1<esri:SimpleLineSymbol id="sls" style="solid" color="0xFF0000" width="2" alpha="1"/> 2<esri:SimpleMarkerSymbol id="sms" style="square" color="0xFF0000" size="10" /> 3<esri:SimpleFillSymbol id="sfs" style="solid" color="0xFF0000" alpha="0.5"/> 复制代码 9.上面的sls为线的显示样式;sms为点的显示样式;sfs为面的显示样式,关于样式的定义可以查询一下帮助了有很多的样式等可以实现。 10.最后就是编写功能代码在上面的ToggleButtonBar控件中已经给它添加了一个itemClick="itemClickHandler(event)",这里就是编写itemClickHandler(event)这个方法的代码:  1import mx.events.ItemClickEvent;  2private function itemClickHandler(event:ItemClickEvent):void  3            {  4                //设置点样式  5                drawToolbar.markerSymbol=sms;  6                //设置线样式  7                drawToolbar.lineSymbol=sls;  8                //设置面样式  9                drawToolbar.fillSymbol=sfs; 10                //更加按钮的index值设置不同的绘制操作 11                switch(event.index) 12                { 13                    case 0: 14                    { 15                        drawToolbar.activate(Draw.MAPPOINT); 16                        break; 17                    } 18                    case 1: 19                    { 20                        drawToolbar.activate(Draw.MULTIPOINT); 21                        break; 22                    } 23                    case 2: 24                    { 25                        drawToolbar.activate(Draw.LINE); 26                        break; 27                    } 28                    case 3: 29                    { 30                        drawToolbar.activate(Draw.POLYLINE); 31                        break; 32                    } 33                    case 4: 34                    { 35                        drawToolbar.activate(Draw.FREEHAND_POLYLINE); 36                        break; 37                    } 38                    case 5: 39                    { 40                        drawToolbar.activate(Draw.POLYGON); 41                        break; 42                    } 43                    case 6: 44                    { 45                        drawToolbar.activate(Draw.FREEHAND_POLYGON); 46                        break; 47                    } 48                    case 7: 49                    { 50                        drawToolbar.activate(Draw.EXTENT); 51                        break; 52                    } 53                } 54            } 复制代码 11.很简单就完成了这些功能可以运行查看效果。 分类: ArcGis Server9.3, ArcGIS API for Flex 标签: 9.3, flex 绿色通道:好文要顶关注我收藏该文与我联系 水的右边 关注 - 6 粉丝 - 211 +加关注 0 0 (请您对文章做出评价) « 博主前一篇:ArcGIS.Server.9.3和ArcGIS API for Flex实现Toolbar功能(四) » 博主后一篇:ArcGIS.Server.9.3和ArcGIS API for Flex实现Identify的功能图查属性(六)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服