毕业设计要用Flex做一个地图模块,使用ArcGIS API For Flex。今天首先做一个地图显示和切换,首先看运行效果截图:
主要就是DropdownList控件的使用,以及如何在Flex中使用ArcGIS的控件来显示地图。下面贴上代码:
<?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"
xmlns:esri="http://www.esri.com/2008/ags"
minWidth="1000" minHeight="600">
<fx:Script>
<![CDATA[
import mx.collections.ArrayList;
import mx.collections.XMLListCollection;
import mx.controls.Alert;
import mx.events.IndexChangedEvent;
import spark.events.IndexChangeEvent;
private var showMapName:String;
private function mapSelectorChangeHandler(event:IndexChangeEvent):void
{
showMapName="http://service:8399/arcgis/rest/services/"+mapSelector.selectedItem.value+"/MapServer/"
// Alert.show(showMapName);
mapServiceLayer.url=showMapName;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<s:XMLListCollection id="mapNames">
<fx:XMLList xmlns="">
<map>
<name>856农场</name>
<value>856</value>
</map>
<map>
<name>双峰农场</name>
<value>ShuangFeng</value>
</map>
</fx:XMLList>
</s:XMLListCollection>
</fx:Declarations>
<esri:Map id="mapView" x="144" y="41" width="800" height="550">
<esri:ArcGISDynamicMapServiceLayer id="mapServiceLayer" />
</esri:Map>
<s:DropDownList id="mapSelector" left="5" top="5" height="20" fontSize="13" fontWeight="normal"
dataProvider="{mapNames}" labelField="name" change="mapSelectorChangeHandler(event)" prompt="地图切换">
</s:DropDownList>
</s:Application>
欢迎交流~~