arcgis api for flex 开发入门(三)地图浏览控件的使用

上一篇 / 下一篇  2008-10-15 10:12:38 / 个人分类:mushup

arcgis api for flex 开发入门(三)地图浏览控件的使用
WB Y uN.[0地图浏览包括放大,缩小,漫游,复位,上级窗口,下级窗口等3sNews.Net——3S社区&资讯平台T%C~ K4n
在arcgis api for flex中,esri 已经封装好了一个地图浏览,我们在程序中可

以直接使用,只需要几十行代码,就可以完成复杂的任务。3sNews.Net——3S社区&资讯平台.U&|4_ F)?+U
首先在上一讲的基础上创建一个Navigation 控件。使用<esri:Navigation>标签

就可以了。
Z'A1o&F(fo#K0 <esri:Navigation id="navToolbar" map="{myMap}"/>
[M$X$H \X0将<esri:Navigation>标签的map属性设置为你要控制的map,也就是说把控件绑到

map上。3sNews.Net——3S社区&资讯平台2K)U;C#W.m5F)V_ Zh^t!L
然后我们创建一个工具条,用来做对map 浏览的控制
Htk!d~1[|)A0     <mx:ControlBar horizontalGap="0" paddingBottom="0" paddingTop="0">3sNews.Net——3S社区&资讯平台w k~)g u&?l0e
     <mx:Button label="放大"   click="navToolbar.activate

(Navigation.ZOOM_IN)"  />3sNews.Net——3S社区&资讯平台9qI2XzKN \mV
     <mx:Button label="缩小"   click="navToolbar.activate

(Navigation.ZOOM_OUT)"  /> 3sNews.Net——3S社区&资讯平台Y)T(jz4R|,Z
     <mx:Button label="漫游"   click="navToolbar.activate

(Navigation.PAN)"  />         
`"e.zp D\9t B0      <mx:Button label="上级窗口"   click="navToolbar.zoomToPrevExtent

()"    enabled="{!navToolbar.isFirstExtent}"/>          
6DjN5Dzy)~0       <mx:Button label="下级窗口"     

click="navToolbar.zoomToNextExtent()"    enabled="{!

navToolbar.isLastExtent}"/>       3sNews.Net——3S社区&资讯平台 \4zz5uA @~
      <mx:Button label="复位" click="navToolbar.zoomToFullExtent()"/>
f*z(jRnP$kj*|0button 的click 消息响应函数直接调用<esri:Navigation>控件的函数就可以了

。放大,缩小,漫游调用的都是激活工具的函数。剩余3个button的响应函数分别

调用<esri:Navigation>控件zoomToPrevExtent,zoomToNextExtent,

zoomToFullExtent函数就ok了。
S2[M9eOmzV"q~0就是这么简单,我们来看看效果。


PF/]9H$n'PY![Q0Flash:demo3sNews.Net——3S社区&资讯平台"ZP$D)` N9x+fx%M:g

完成代码如下:
"gM]N V`(C0{3T0<?xml version="1.0" encoding="utf-8"?>3sNews.Net——3S社区&资讯平台| nKx8T}1A
<mx:Application3sNews.Net——3S社区&资讯平台/WFA8Jn9H$}iIc,\
    xmlns:mx="http://www.adobe.com/2006/mxml"
RnD yD!u#q*f0    xmlns:esri="http://www.esri.com/2008/ags"
:X%h B)Sdf0    pageTitle="Using ArcGIS API for Flex to connect to a cached ArcGIS Online service"3sNews.Net——3S社区&资讯平台2I't/\!?De'Lvc3P
    styleName="plain">
"m*n2r I,j0    <esri:Navigation id="navToolbar" map="{myMap}"/>
u$tU D j0    <esri:SpatialReference id="sr" wkid="4326"/>3sNews.Net——3S社区&资讯平台EH7F fn0T+}G
     <mx:ControlBar horizontalGap="0" paddingBottom="0" paddingTop="0">3sNews.Net——3S社区&资讯平台+o+QUEK*F6Jjfk#C)r
     <mx:Button label="放大"   click="navToolbar.activate(Navigation.ZOOM_IN)"  />3sNews.Net——3S社区&资讯平台hA&| ],E
     <mx:Button label="缩小"   click="navToolbar.activate(Navigation.ZOOM_OUT)"  /> 3sNews.Net——3S社区&资讯平台3N3wI(F{ed k"cb
     <mx:Button label="漫游"   click="navToolbar.activate(Navigation.PAN)"  />         
f C C+A-W| EK0      <mx:Button label="上级窗口"   click="navToolbar.zoomToPrevExtent()"    enabled="{!navToolbar.isFirstExtent}"/>          3sNews.Net——3S社区&资讯平台/D2u!`pg G
       <mx:Button label="下级窗口"      click="navToolbar.zoomToNextExtent()"    enabled="{!navToolbar.isLastExtent}"/>       
8E8~6f%?V0      <mx:Button label="复位" click="navToolbar.zoomToFullExtent()"/>3sNews.Net——3S社区&资讯平台:r L,l0go?8k
      </mx:ControlBar>3sNews.Net——3S社区&资讯平台4yM;nzt{0\`,M
    <esri:Map crosshairVisible="true" id = "myMap">3sNews.Net——3S社区&资讯平台#Nzqd,|"y!R;?n-Ed
        <esri:extent>3sNews.Net——3S社区&资讯平台EO2[ `1PAD p@
  <esri:Extent  id = "esriMapExtent" xmin="116" ymin="39.5" xmax="116.5" ymax="40.5"/>3sNews.Net——3S社区&资讯平台vR$p+qp&o8lj3zB
  </esri:extent>
1pkV/_.CDx0        <esri:ArcGISTiledMapServiceLayer3sNews.Net——3S社区&资讯平台b2_~b2vK'`+a
            url="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer" />
_R/V$f N-w0     <esri:GraphicsLayer id="myGraphicsLayer" spatialReference="{sr}"/>3sNews.Net——3S社区&资讯平台&es(~g9V,W j/s x
    </esri:Map>
8p @;ay&f!t2Ii B0</mx:Application>


TAG:

引用 删除 Guest   /   2009-01-04 17:01:32
5
my name is barry 引用 删除 barry   /   2008-12-23 13:03:49
我使用的beta版本的flex api,现在是 v1 release接口有所变化,详细内容可以参考http://resources.esri.com/arcgisserver/apis/flex/
引用 删除 Guest   /   2008-12-23 08:43:01
为什么activate接口没有呢?还有zoomToPrevExtent事件也找不到?
引用 删除 lc   /   2008-12-19 11:09:25
谢谢共享!
引用 删除 Guest   /   2008-12-19 10:44:14
5
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar