ArcGIS web map 可以说成是一个底图和一系列的可进行任务处理和交互的图层。地图显示形式丰富,可以是多级别显示的底图(basemap)、应用图层(operations layers)、弹出窗口(pop-up windows),弹出窗口是用户点击指定的地图元素(如feature)来显示的、除此之外,地图数据还可以是其他的数据形式:text files,shapefiles,KML等。支持在各种显示终端显示,包括移动设备、桌面应用和web浏览器。
两种方法为地图控件设置数据:一种是直接添加,见教程1;另一种是制作在线地图,通过ArcGIS.com Viewer 或如果可以的话,使用Portal for ArcGIS.地图服务制作完成后,可以通过使用其ID作为地图数据来源的标识在代码中设置。
api中的WebMapUtil类就可以用来通过设置的ID来读取地图的相关信息并创建显示。该类可用的数据 来源是ArcGIS Online,和Portal for ArcGis通过设置arcgisSharingURL属性。下面的代码示例是用了ArcGIS Online的服务。
代码如下:
应用的初始化过程完成后响应application_initializeHandler事件,根据ID号创建地图;地图对象创建完成后,createMapByIdCompleteHandler被激活,添加地图显示。
两种方法为地图控件设置数据:一种是直接添加,见教程1;另一种是制作在线地图,通过ArcGIS.com Viewer 或如果可以的话,使用Portal for ArcGIS.地图服务制作完成后,可以通过使用其ID作为地图数据来源的标识在代码中设置。
插图:
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被激活,添加地图显示。