实例:
(1)打开、关闭widget
(2)与地图交互
<?xml version="1.0" encoding="utf-8"?>
<!--
<viewer:BaseWidget xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:viewer="com.esri.viewer.*"
widgetConfigLoaded="init()">
<fx:Script>
<![CDATA[
//this function called when the widget's configuration is loaded
import mx.controls.Alert;
import com.esri.ags.geometry.MapPoint;
//var graphicsLayer:GraphicsLayer;
private function sayHiToMap():void{
var center:MapPoint=map.extent.center;
var message:Label=new Label();
message.text=getDefaultString("helloContent");
map.infoWindowContent=message;
map.infoWindow.show(center);
}
private function init():void
{
if (configXML) // checking for valid content in the configuration file
{
lbl.text ="wangzheng"+ configXML.content || getDefaultString("helloContent");
}
}
private function widgetClosedHandler(event:Event):void
{
Alert.show("HelloWidgetTemplateWidget minimized");
}
private function widgetOpenedHandler(event:Event):void
{
Alert.show("HelloWidgetTemplateWidget minimized");
}
]]>
</fx:Script>
<viewer:WidgetTemplate id="wTemplate"
height="100%" width="100%"
minHeight="190"
minWidth="220"
closed="widgetClosedHandler(event)"
open="widgetOpenedHandler(event)">
<viewer:layout>
<s:VerticalLayout horizontalAlign="center" verticalAlign="middle"/>
</viewer:layout>
<s:Label id="lbl"
width="100%"
fontSize="12"
fontStyle="italic"
fontWeight="bold"/>
<s:Button label="Say Hi to Map" click="sayHiToMap()"/>
</viewer:WidgetTemplate>
</viewer:BaseWidget>
(3)地图图层可以直接在config.xml文件添加
<basemaps>
<layer type="tiled" label="Topographic" url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer" visible="true"/>
<layer type="tiled" label="libbase" url="http://superstring:8399/arcgis/rest/services/libbase/MapServer" visible="false"/>
<layer type="dynamic" label="lib" url="http://superstring:8399/arcgis/rest/services/lib/MapServer" visible="false"/>
</basemaps>