Flex开发ArcGIS问题集锦七:怎样使用导航工具
我的开发环境:
OS : Microsoft Windows XP Professional SP3
ArcGIS: ArcGIS Server 10
Flex版本:Flash Builder 4.6.1
Flex SDK: 4.6
我在网上找了一篇文章
网址为:http://www.cnblogs.com/wenjl520/archive/2009/06/02/1494539.html
代码如下:
<?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:Navigation id="navToolbar" map="{myMap}"/>
<esri:SpatialReference id="sr" wkid="4326"/>
<mx:ControlBar horizontalGap="0" paddingBottom="0" paddingTop="0">
<mx:Button label="放大" click="navToolbar.activate
(Navigation.ZOOM_IN)" />
<mx:Button label="缩小" click="navToolbar.activate
(Navigation.ZOOM_OUT)" />
<mx:Button label="漫游" click="navToolbar.activate
(Navigation.PAN)" />
<mx:Button label="上级窗口" click="navToolbar.zoomToPrevExtent
()" enabled="{!navToolbar.isFirstExtent}"/>
<mx:Button label="下级窗口"
click="navToolbar.zoomToNextExtent()" enabled="{!
navToolbar.isLastExtent}"/>
<mx:Button label="复位" click="navToolbar.zoomToFullExtent()"/>
</mx:ControlBar>
<esri:Map crosshairVisible="true" id = "myMap">
<esri:extent>
<esri:Extent id="esriMapExtent" xmin="120.5" ymin="30" xmax="122" ymax="31.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>
产生的错误为:
我修改后的代码
代码:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:esri="http://www.esri.com/2008/ags">
<fx:Script>
<![CDATA[
import mx.events.ItemClickEvent;
protected function toolbar_Clicked(event:ItemClickEvent):void
{
trace("到此");
switch(event.index)
{
case 0:
navToolbar.activate(NavigationTool.PAN);
break;
case 1:
navToolbar.activate(NavigationTool.ZOOM_IN);
break;
case 2:
navToolbar.activate(NavigationTool.ZOOM_OUT);
break;
}
}
]]>
</fx:Script>
<fx:Declarations>
<esri:NavigationTool id="navToolbar" map="{map}" />
</fx:Declarations>
<esri:Map id="map" scaleBarVisible="false" logoVisible="false" width="100%" height="100%">
<!--<esri:ArcGISTiledMapServiceLayer
url="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer"
/>-->
<esri:ArcGISDynamicMapServiceLayer
url="http://sdrj-wx/arcgis/rest/services/sample/MapServer"/>
</esri:Map>
<mx:ToggleButtonBar top="10" horizontalCenter="-260" itemClick="toolbar_Clicked(event)">
<mx:dataProvider>
<fx:Array>
<fx:String>漫游</fx:String>
<fx:String>放大</fx:String>
<fx:String>缩小</fx:String>
</fx:Array>
</mx:dataProvider>
</mx:ToggleButtonBar>
<s:Button label="上一视图" top="10"
enabled="{!navToolbar.isFirstExtent}"
click="navToolbar.zoomToPrevExtent();" horizontalCenter="30" />
<s:Button label="下一视图" top="10"
enabled="{!navToolbar.isLastExtent}"
click="navToolbar.zoomToNextExtent();" horizontalCenter="110"/>
<s:Button label="全图" click="map.zoomToInitialExtent();" top="10" horizontalCenter="190" />
</s:Application>
效果
到此结束!!!