|
- 1.ArcGIS API for Flex用GeoprocessingServices实现网络分析中的最短路径分析,本例子根据在地图上指定Stops点和Barriers点然后进行最短路径的分析并且把路径分析结果显示在地图中同时在右边的DataGrid中现在最短路径的行车方法。
- 准备工作:
- 1.本来例子采用的数据是SanFrancisco数据(ArcTutorGP Service ExamplesDriveTimePolygons),在ArcGIS.Server.9.3发布一个叫SanFranciscoBasemap的Map Service(SanFranciscoBasemap.mxd)。
- 2.在ArcGIS.Server.9.3发布一个叫GPRouteA的Geoprocessing Service,关于Geoprocessing模型的制作以及Geoprocessing Service的发布设置请参考http://webhelp.esri.com/arcgisserver/9.3/java/index.htm#geoprocessing/guide_-1963186772.htm页面中的Example了,讲述的很详细了。
- 1.关于Geoprocessing Service的介绍见http://www.cnblogs.com/hll2008/archive/2008/11/07/1329177.html。
- 2.启动Flex Builder3新建工程以及引入1.0正式版的ArcGIS API for Flex library的开发包。
- 3.新建GPRoute.mxml页面,添加Map、ArcGISTiledMapServiceLayer、GraphicsLayer等并且设置相应的属性。具体代码如下:
- <mx:Canvas width="495" height="396" borderStyle="solid" borderThickness="3" left="10" verticalCenter="14">
- <esri:Map id="myMap" logoVisible="false">
- <esri:ArcGISTiledMapServiceLayer url="http://jh-53a435fbc0e8/ArcGIS/rest/services/SanFranciscoBasemap/MapServer" />
- <esri:GraphicsLayer id="ruteGraphicsLayer" symbol="{sls}" />
- <esri:GraphicsLayer id="myGraphicsLayer" graphicAdd="graphicAddHandler(event)" />
- </esri:Map>
- </mx:Canvas>
- 4.上面的代码包含了一个 ArcGISTiledMapServiceLayer和二个GraphicsLayer,ruteGraphicsLayer用来显示分析后的路径,myGraphicsLayer用来显示 stops、Barriers点。
- 5.接着在Map控件的上方添加ToggleButtonBar和Button控件,ToggleButtonBar控件用来实现地图漫游、添加stops、添加Barriers的功能切换,Button为进行最短路径分析的按钮。在Map控件的右边添加一个DataGrid用来显示行车走法,代码:
- <mx:ToggleButtonBar verticalCenter="-215" itemClick="itemClickHandler(event)" left="10">
- <mx:dataProvider>
- <mx:Array>
- <mx:Object icon="{Pan}" />
- <mx:Object icon="{point}" />
- <mx:Object icon="{Bbrri}" />
- </mx:Array>
- </mx:dataProvider>
- </mx:ToggleButtonBar>
- <mx:Button label="最短路径分析" left="138" verticalCenter="-216" fontSize="12" click="doShortestRoute()"/>
- <mx:DataGrid id="Directions" height="396" width="100%" left="513" verticalCenter="14">
- <mx:columns>
- <mx:DataGridColumn headerText="Directions" dataField="text"/>
- </mx:columns>
- </mx:DataGrid>
- 6.接下来添加Draw控件以及点、线的样式设定:
- <esri:InfoSymbol id="ifs">
- <esri:infoRenderer>
- <mx:Component>
复制代码
|
|