arcgis api for flex 开发入门(四)Darw控件的使用
发布时间:2020-12-15 04:18:33 所属栏目:百科 来源:网络整理
导读:arcgis api for flex 在客户端提供了强大的绘制功能,可以通过简单的调用来 完成复杂的绘制工作,达到很好的交互效果,提供完美的用户体验,感觉不出来 是在web上操作。 下面我们就一起来实现绘制功能。 首先,我们需要定义一个draw 控件,使用esri raw标签
arcgis api for flex 在客户端提供了强大的绘制功能,可以通过简单的调用来
完成复杂的绘制工作,达到很好的交互效果,提供完美的用户体验,感觉不出来 是在web上操作。 下面我们就一起来实现绘制功能。 首先,我们需要定义一个draw 控件,使用<esri 下面的代码 <esri graphicsLayer="{myGraphicsLayer}" /> raw >标签的map属性要绑定要你需要绘制的map上。graphicsLayer属性要 绑定到一个graphicsLayer上,所有绘制的结果都会添加到graphicsLayer上, graphicsLayer的创建可以参考第二讲的内容。 控件创建好了,我们下面就可以调用这个控件的函数来完成绘制任务。 和上一讲一样,我们创建一个controlbar 来响应这些绘制的操作。 <mx:ControlBar horiz paddingBottom="0" paddingTop="0">? ? ???<mx:Button label="点"? ?click="drawToolbar.activate (Draw.MAPPOINT)"??/> ? ???<mx:Button label="线"? ?click="drawToolbar.activate (Draw.POLYLINE)"??/>?? ? ???<mx:Button label="流线"? ?click="drawToolbar.activate (Draw.FREEHAND_POLYLINE)"??/>? ? ???<mx:Button label="矩形"? ?click="drawToolbar.activate (Draw.EXTENT)"??/>? ?? ?? ? ? ?? ?<mx:Button label="多边形"? ?click="drawToolbar.activate (Draw.POLYGON)"? ?/>? ?? ?? ??? ? ?? ?<mx:Button label="流多边形"? ?? ?click="drawToolbar.activate (Draw.FREEHAND_POLYGON) "/>? ?? ??? <mx:Button label="结束绘制"? ?? ?click="drawToolbar.deactivate () "/>?? ? ?? ?</mx:ControlBar> 在button 的click 响应函数里,我们只需要调用draw控件的activate函数来激活 当前绘制工具就可以了。 当你不想绘制的时候,调用deactivate函数就ok了,释放掉当前选择的绘制工具。 完整代码:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:esri="http://www.esri.com/2008/ags" pageTitle="Using ArcGIS API for Flex to connect to a cached ArcGIS Online service" styleName="plain"> <esri:Draw id="drawToolbar" map="{myMap}" graphicsLayer="{myGraphicsLayer}" /> <esri:SpatialReference id="sr" wkid="4326"/> <mx:ControlBar horizontalGap="0" paddingBottom="0" paddingTop="0"> <mx:Button label="点" click="drawToolbar.activate (Draw.MAPPOINT)" /> <mx:Button label="线" click="drawToolbar.activate (Draw.POLYLINE)" /> <mx:Button label="流线" click="drawToolbar.activate (Draw.FREEHAND_POLYLINE)" /> <mx:Button label="矩形" click="drawToolbar.activate (Draw.EXTENT)" /> <mx:Button label="多边形" click="drawToolbar.activate (Draw.POLYGON)" /> <mx:Button label="流多边形" click="drawToolbar.activate (Draw.FREEHAND_POLYGON) "/> <mx:Button label="结束绘制" click="drawToolbar.deactivate () "/> </mx:ControlBar> <esri:Map crosshairVisible="true" id = "myMap"> <esri:extent> <esri:Extent id = "esriMapExtent" xmin="116" ymin="39.5" xmax="116.5" ymax="40.5"/> </esri:extent> <esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap _World_2D/MapServer" /> <esri:GraphicsLayer id="myGraphicsLayer" spatialReference="{sr}"/> </esri:Map> </mx:Application> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |