开始:
1.启动Flex Builder3新建工程以及引入ArcGIS API for Flex library的开发包。 2.新建
DrawTool.mxml页面,然后在页面上添加
esri:Map
控件设置
esri:ArcGISTiledMapServiceLayer等。
3.和上一篇一样仍旧用mx:ToggleButtonBar来实现功能按钮,mx:ToggleButtonBar需要包含6个按钮分别实现6种不一样的操作,具体代码如下:
1
itemClick=”itemClickHandler(event)” toggleOnClick=”true”> 2 4
4.上面的代码中icon对应的图标定义在mx:Script中如下: 1//图标图片
2 [Bindable]
3 [Embed(source=\ 4 public var point:Class; 5
6 [Bindable]
7 [Embed(source=\ 8 public var point2:Class; 9
10 [Bindable]
11 [Embed(source=\12 public var polyline:Class; 13
14 [Bindable]
15 [Embed(source=\16 public var polyline3:Class; 17
18 [Bindable]
19 [Embed(source=\20 public var polyline2:Class; 21
22 [Bindable]
23 [Embed(source=\24 public var polygon:Class; 25
26 [Bindable]
27 [Embed(source=\28 public var polygon2:Class; 29
30 [Bindable]
31 [Embed(source=\32 public var polygon3:Class;
5.现在要实现在地图上画点、线等就需要esri:GraphicsLayer 的功能,实际上点、线、面都是画在
GraphicsLayer的所以需要在Map控件中添加:
1
url=”http://server.arcgisonline.com/ArcGIS/rest/services/NPS_Physical_World_2D/MapServer” /> 3 6.要进行绘制功能esri已经提供了esri:Draw这个控件能很方便的实现基本图形的绘制,使用代码如下: 1 7.esri:Draw有2个属性一个是要进行画图操作的地图控件,一个是画图的容器GraphicsLayer。 8.接下来定义一下画出来的点、线、面的显示样式,代码如下: 1 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 drawToolbar.activate(Draw.LINE); break; } case 3: { drawToolbar.activate(Draw.POLYLINE); break; } case 4: { drawToolbar.activate(Draw.FREEHAND_POLYLINE); break; } case 5: { drawToolbar.activate(Draw.POLYGON); break; } case 6: { drawToolbar.activate(Draw.FREEHAND_POLYGON); break; } case 7: { drawToolbar.activate(Draw.EXTENT); break; } } 54 } 11.很简单就完成了这些功能可以运行查看效果。 (六)ArcGIS.Server.9.3和ArcGIS API for Flex实现Identify的功能图查属性 1.ArcGIS API for Flex实现Identify的功能,进行图查属性的功能,这样选择图层然后进行点、线、面的查询最好查到的地理元素高亮显示同时在右边的Grid中显示查到的数据。 准备工作: 1.在ArcGIS.Server.9.3发布一个叫usa的Map Service,并且把这个Service启动起来。 完成后的效果图: 开始: 1.启动Flex Builder3新建工程以及引入ArcGIS API for Flex library的开发包。 2.新建IdentifyTest.mxml页面,然后在页面上添加esri:Map控件设置esri:ArcGISDynamicMapServiceLayer等,这里还需要高亮显示被查询到的元素所以还需要esri:GraphicsLayer,具体代码如下: 1 borderColor=”#425DE2″ verticalCenter=”-20″ x=”11″>
相关推荐: