微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ArcGIS API For Flex在应用程序中添加web地图

版本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中传递


运行效果

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐