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]NV`(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%hB)Sdf0 pageTitle="Using ArcGIS API for Flex to connect to a cached ArcGIS Online service"3sNews.Net——3S社区&资讯平台2I't/\!?D e'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社区&资讯平台EH7Ffn0T+}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!` pgG
<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$fN-w0 <esri:GraphicsLayer id="myGraphicsLayer" spatialReference="{sr}"/>3sNews.Net——3S社区&资讯平台&es(~g9V,Wj/s
x
</esri:Map>
8p @;ay&f!t2IiB0</mx:Application>