查看原文:http://www.ibloger.net/article/354.html
版本3.6 原文摘录:https://developers.arcgis.com/flex/guide/tutorial-add-a-web-map-to-the-application.htm
一个ArcGIS网站地图底图和一组相关的图层,用户可以交互进行一些有意义的任务,这些地图提供给广大受众,其中包括多尺度底图,针对特定受众的操作层,并弹出窗口( pop-up windows ),让用户专注于感兴趣的特定功能,以及其他数据格式(text files, shapefiles, KML, 等),这些Web地图是可于各种各样客户端,包括移动设备,台式机应用程序和Web浏览器Access web map identifer
有两种方式将数据信息添加到地图组件中,一种是 Add a map with layers,一种是 ArcGIS.com Viewer提供 ,如果有可能,门户网站的ArcGIS Web地图。一旦创作,网络地图可以被共享的资源,并通过其独特的项目ID访问。
创建Web地图后,复制网站Map Id,并注意该URL包括独特的地图标识符。一个这样的例子显示如下。

Add the web map to the application
这个WebMapUtil类是基于一个给定ID的web map项目信息用来创建地图 ,这个类需要在线的ArcGIS网络地图上工作,也可以使用 ArcGIS 的门户网站,通过设置arcgisSharingURL属性 ,本教程使用Online ArcGIS地图学习
在Flash Builder中,创建一个新的项目,并加入Flex的API库
在Editor View编辑器视图中添加下面的代码。另外,请一定要引用ESRI的命名空间
<?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:esri="http://www.esri.com/2008/ags"
initialize="application_initializeHandler(event)">
<fx:Script>
<![CDATA[
import com.esri.ags.events.WebMapEvent;
import mx.controls.Alert;
import mx.events.FlexEvent;
protected function application_initializeHandler(event:FlexEvent):void
{
webMapUtil.createMapById("4778fee6371d4e83a22786029f30c7e1");
}
protected function webMapUtil_createMapByIdCompleteHandler(event:WebMapEvent):void
{
addElementAt(event.map, 0);
}
]]>
</fx:Script>
<fx:Declarations>
<esri:WebMapUtil id="webMapUtil"
createMapByIdComplete="webMapUtil_createMapByIdCompleteHandler(event)"
fault="Alert.show(event.fault.faultString);"/>
</fx:Declarations>
<s:Label top="10"
fontSize="24"
horizontalCenter="0"
text="ArcGIS.com Web Map"/>
</s:Application>
当程序中
initializeHandler
函数被触发,并使用提供的web map ID 4778fee6371d4e83a22786029f30c7e1
一旦地图完成构建,the createMapByIdCompleteHandler
函数就会被触发,event事件调用 Spark container's容器addElement
函数在map中传递
运行效果