博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
arcgis api for flex 开发入门(四)Darw控件的使用
阅读量:5925 次
发布时间:2019-06-19

本文共 2655 字,大约阅读时间需要 8 分钟。

arcgis api for flex 开发入门(四)Darw控件的使用

arcgis api for flex 在客户端提供了强大的绘制功能,可以通过简单的调用来
完成复杂的绘制工作,达到很好的交互效果,提供完美的用户体验,感觉不出来
是在web上操作。
下面我们就一起来实现绘制功能。
首先,我们需要定义一个draw 控件,使用<esriraw>标签来完成创建工作,如
下面的代码
<esriraw id="drawToolbar" map="{myMap}"
graphicsLayer="{myGraphicsLayer}" />
<esriraw >标签的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了,释放掉当前选择的绘制工具。
完整代码:

ContractedBlock.gif
ExpandedBlockStart.gif
Code
<?
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
>

原文地址:

本文转自温景良(Jason)博客园博客,原文链接:http://www.cnblogs.com/wenjl520/archive/2009/06/02/1494543.html,如需转载请自行联系原作者

你可能感兴趣的文章
图形解锁代码(付源码)
查看>>
左旋字符串
查看>>
python异常处理练习1
查看>>
PHP安全之Web攻击
查看>>
JVM快速调优手册01:内存结构(堆内存和非堆内存)
查看>>
CentOS5×的cobbler安装配置
查看>>
希捷硬盘编号识别
查看>>
如何在Eclipse中调试JBoss应用
查看>>
Elasticsearch集群的简单搭建
查看>>
tomcat部署
查看>>
基于jQuery的ajax系列之用FormData实现页面无刷新上传
查看>>
Map Reduce - the Free Lunch is not over
查看>>
kaldi log
查看>>
XStream CDATA注解
查看>>
mongodb
查看>>
虚拟化技术—docker容器—PIPEWORK解读与实践
查看>>
我要去北漂
查看>>
css常见问题
查看>>
PHP关键字、PHP 语言结构(Language constructs)和函数的区别
查看>>
JS中exec函数与match函数的区别与联系
查看>>