<?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>