一个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中传递
运行效果
版本3.6 官方原文:https://developers.arcgis.com/flex/guide/tutorial-add-a-web-map-to-the-application.htm
未经允许请勿转载:程序喵 » ArcGIS API For Flex —— 在应用程序中添加web地图