arcgis for flex api version3.7 教程:2.通过地图服务的ID添加地图

ArcGIS web map 可以说成是一个底图和一系列的可进行任务处理和交互的图层。地图显示形式丰富,可以是多级别显示的底图(basemap)、应用图层(operations layers)、弹出窗口(pop-up windows),弹出窗口是用户点击指定的地图元素(如feature)来显示的、除此之外,地图数据还可以是其他的数据形式:text files,shapefiles,KML等。支持在各种显示终端显示,包括移动设备、桌面应用和web浏览器。
两种方法为地图控件设置数据:一种是直接添加,见教程1;另一种是制作在线地图,通过ArcGIS.com Viewer 或如果可以的话,使用Portal for ArcGIS.地图服务制作完成后,可以通过使用其ID作为地图数据来源的标识在代码中设置。

插图:


ID号从哪里获取?ID号就在你制作 的地图服务的URL地址中,如下图所示:




api中的WebMapUtil类就可以用来通过设置的ID来读取地图的相关信息并创建显示。该类可用的数据 来源是ArcGIS Online,和Portal for ArcGis通过设置arcgisSharingURL属性。下面的代码示例是用了ArcGIS Online的服务。
代码如下:
<?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>

显示结果




应用的初始化过程完成后响应application_initializeHandler事件,根据ID号创建地图;地图对象创建完成后,createMapByIdCompleteHandler被激活,添加地图显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值