<?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:mx="library://ns.adobe.com/flex/mx"
xmlns:supportClasses="com.esri.ags.skins.supportClasses.*"
xmlns:flash="flash.text.*"
xmlns:arcgis="cn.com.vistech.arcgis.*"
xmlns:esri="http://www.esri.com/2008/ags">
<fx:Declarations>
<esri:SimpleMarkerSymbol id="citySymbol"
alpha="0.8"
color="0xDDDD00"
size="6"
style="circle">
<esri:SimpleLineSymbol width="2"
alpha="1"
color="0xDD0000"
style="solid"/>
</esri:SimpleMarkerSymbol>
<esri:SimpleFillSymbol color="0xFFFFFF"
alpha="0.5"
style="solid"
id="mySymbol">
<esri:SimpleLineSymbol color="0xFFFFFF"
width="0"
alpha="0.5"
style="solid"/>
</esri:SimpleFillSymbol>
<esri:TextSymbol id="nanjing"
text="南京"
placement="above"
xoffset="1"
yoffset="3"
color="0x666666"
border="false"
borderColor="0x000000"
background="false"
backgroundColor="0xFFFFFF">
<flash:TextFormat size="13"
font="宋体"
bold="true"
italic="false"
underline="false"/>
</esri:TextSymbol>
<esri:MapImageLayer id="viso"
alpha="0.5">
</esri:MapImageLayer>
</fx:Declarations>
<esri:Map id="map"
logoVisible="false"
openHandCursorVisible="false"
scaleBarVisible="false"
zoomSliderVisible="false"
load="loadHandler()">
<arcgis:GoogleMapLayer/>
<esri:GraphicsLayer symbol="{citySymbol}">
<esri:Graphic symbol="{nanjing}">
<esri:geometry>
<esri:MapPoint x="13221159.886688277"
y="3769799.519742769"/>
</esri:geometry>
</esri:Graphic>
<esri:Graphic>
<esri:geometry>
<esri:MapPoint x="13221159.886688277"
y="3769799.519742769"
id="js"/>
</esri:geometry>
</esri:Graphic>
<esri:Graphic>
<esri:geometry>
<esri:MapPoint x="12801741.44122646"
y="3606802.4843253596"/>
</esri:geometry>
</esri:Graphic>
<esri:Graphic>
<esri:geometry>
<esri:MapPoint x="13692297.36757265"
y="4191093.670273363"/>
</esri:geometry>
</esri:Graphic>
<esri:Graphic>
<esri:geometry>
<esri:MapPoint x="12801741.44122646"
y="4191093.670273363"/>
</esri:geometry>
</esri:Graphic>
<esri:Graphic>
<esri:geometry>
<esri:MapPoint x="13692297.36757265"
y="3606802.4843253596"/>
</esri:geometry>
</esri:Graphic>
<esri:Graphic symbol="{mySymbol}">
<esri:Polygon spatialReference="{new SpatialReference(102113)}">
<fx:Array>
<fx:Array>
<esri:MapPoint id="a1"
x="-20037508.342787"
y="-20037508.342787"/>
<esri:MapPoint id="b1"
x="-20037508.342787"
y="3575001"/>
<esri:MapPoint id="a3"
x="20037508.342787"
y="3575001"/>
<esri:MapPoint id="a4"
x="20037508.342787"
y="-20037508.342787"/>
</fx:Array>
</fx:Array>
</esri:Polygon>
</esri:Graphic>
<esri:Graphic symbol="{mySymbol}">
<esri:Polygon spatialReference="{new SpatialReference(102113)}">
<fx:Array>
<fx:Array>
<esri:MapPoint id="y1"
x="-20037508.342787"
y="4204007"/>
<esri:MapPoint id="y2"
x="-20037508.342787"
y="20037508.342787"/>
<esri:MapPoint id="y3"
x="-20037508.342787"
y="20037508.342787"/>
<esri:MapPoint id="y4"
x="20037508.342787"
y="4204007"/>
</fx:Array>
</fx:Array>
</esri:Polygon>
</esri:Graphic>
<esri:Graphic symbol="{mySymbol}">
<esri:Polygon spatialReference="{new SpatialReference(102113)}">
<fx:Array>
<fx:Array>
<esri:MapPoint id="u1"
x="-20037508.342787"
y="4204007"/>
<esri:MapPoint id="u2"
x="12783210"
y="4204007"/>
<esri:MapPoint id="u3"
x="12783210"
y="3575001"/>
<esri:MapPoint id="u4"
x="-20037508.342787"
y="3575001"/>
</fx:Array>
</fx:Array>
</esri:Polygon>
</esri:Graphic>
<esri:Graphic symbol="{mySymbol}">
<esri:Polygon spatialReference="{new SpatialReference(102113)}">
<fx:Array>
<fx:Array>
<esri:MapPoint id="t1"
x="13703667"
y="4204007"/>
<esri:MapPoint id="t2"
x="13703667"
y="3575001"/>
<esri:MapPoint id="t3"
x="20037508.342787"
y="3575001"/>
<esri:MapPoint id="t4"
x="20037508.342787"
y="4204007"/>
</fx:Array>
</fx:Array>
</esri:Polygon>
</esri:Graphic>
</esri:GraphicsLayer>
</esri:Map>
<s:Button label="按钮"
click="button1_clickHandler(event)"
top="10"
right="10"/>
<s:Panel x="29"
y="19"
width="1082"
height="200">
<s:Label fontWeight="bold"
text="Current map extent:"
x="15"
y="10"/>
<s:RichEditableText editable="false"
text='xmin="{map.extent.xmin.toFixed(0)}" ymin="{map.extent.ymin.toFixed(0)}" xmax="{map.extent.xmax.toFixed(0)}" ymax="{map.extent.ymax.toFixed(0)}" (wkid="{map.spatialReference.wkid}")'
x="9"
y="135"/>
<s:Label fontWeight="bold"
text="Current map extent (in geographic):"
x="23"
y="53"/>
<s:RichEditableText editable="false"
text="{showExtentInGeographic(map.extent)}"
x="10"
y="110"/>
<s:Label fontWeight="bold"
text="Current Mouse Coordinates:"
x="10"
y="73"/>
<s:RichEditableText id="mousecoords"
editable="false"
text="Move the mouse over the map to see its current coordinates..."
x="10"
y="93"/>
<s:Label fontWeight="bold"
text="Current map scale is"
x="10"
y="33"/>
<s:RichEditableText editable="false"
text="1:{map.scale.toFixed(0)} (level {map.level})"
x="14"
y="-24"/>
</s:Panel>
<fx:Script>
<![CDATA[
import com.esri.ags.SpatialReference;
import com.esri.ags.events.MapEvent;
import com.esri.ags.geometry.Extent;
import com.esri.ags.layers.supportClasses.MapImage;
import com.esri.ags.utils.WebMercatorUtil;
import mx.controls.Alert;
import mx.core.FlexGlobals;
protected function button1_clickHandler(event:MouseEvent):void
{
var zx:MapPoint=new MapPoint(114.859, 35.32);
var ys:MapPoint=new MapPoint(124.155, 41.25);
zx=WebMercatorUtil.geographicToWebMercator(zx) as MapPoint;
ys=WebMercatorUtil.geographicToWebMercator(ys) as MapPoint;
viso.removeAll();
var visoMapImage:MapImage=new MapImage();
visoMapImage.href="http://10.32.22.250:8080/appServices/emf2vec/visoface-gis.swf?r=" + new Date().getMilliseconds();
var extent:Extent=new Extent(12783205.393024608, 4204003.347074539, 13827701.37943888, 4989446.834623009, new SpatialReference(102113));
visoMapImage.extent=extent;
viso.add(visoMapImage);
FlexGlobals.topLevelApplication.map.addLayer(viso);
}
private function loadHandler():void
{
map.centerAt(js);
map.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}
// ... show coordinates of current (mouse) location
private function mouseMoveHandler(event:MouseEvent):void
{
const mapPoint:MapPoint=map.toMapFromStage(event.stageX, event.stageY);
const latlong:MapPoint=WebMercatorUtil.webMercatorToGeographic(mapPoint) as MapPoint;
mousecoords.text="x,y is " + mapPoint.x.toFixed(0) + "," + mapPoint.y.toFixed(0) + " and Lat/Long is: " + latlong.y.toFixed(6) + " / " + latlong.x.toFixed(6);
}
// convert current projected extent to geographic and show as such
protected function showExtentInGeographic(extent:Extent):String
{
const geoExtent:Extent=WebMercatorUtil.webMercatorToGeographic(map.extent) as Extent;
// return geoExtent.toString() + ".." ;
return " " + geoExtent.xmin.toFixed(6) + ", " + geoExtent.ymin.toFixed(6) + ", " + geoExtent.xmax.toFixed(6) + ", " + geoExtent.ymax.toFixed(6) + " (wkid: " + geoExtent.spatialReference.wkid + ")";
}
]]>
</fx:Script>
</s:Application>