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

ArcGIS Google Map 增加虚拟图层(MapImageLayer)(转载)的更多相关文章

  1. ArcGIS Viewer for Flex中引入google map作底图 (转)

    在ArcGIS Viewer for Flex开发中,经常需要用到google map作为底图,我们不能通过ArcGIS Viewer for Flex - Application Builder轻易 ...

  2. ArcGIS for Flex中引入google map作底图

    上篇文章到在ArcGIS View中引入google map,这里讲ArcGIS for Flex中引入google map作底图. 同样道理,以google map作底图,需要编写继承自TiledM ...

  3. ArcGIS Viewer for Flex中引入google map作底图

    在ArcGIS Viewer for Flex开发中,经常需要用到google map作为底图,我们不能通过ArcGIS Viewer for Flex - Application Builder轻易 ...

  4. arcgis api for silverlight使用google map等多个在线地图

    原文 http://blog.csdn.net/leesmn/article/details/6820245 无可否认,google map实在是很漂亮.可惜对于使用arcgis api for si ...

  5. Google Map JavaScript API V3 实例大全

    Google Map JavaScript API V3 实例大全 基础知识 简单的例子 地理位置 语言 位置 坐标 简单的投影 事件 简单事件 关闭事件 多次添加事件 事件属性 控制 php禁用ui ...

  6. Android Google Map v2具体解释:开发环境配置

    Android Google Map v2具体解释:开发环境配置                                       --转载请注明出处:coder-pig 说在前面: 说到地 ...

  7. Google Map API V3开发(1)

    Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...

  8. Google Map API V3开发(3)

    Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...

  9. Google Map API V3开发(4)

    Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...

随机推荐

  1. centos安装python与jdk

    安装python #压缩包安装 [root@china ~]# yum -y install zlib* Loaded plugins: fastestmirror, refresh-packagek ...

  2. Numpy 数组的切片操作

    实例+解释如下(表格):关键是要明白python中数组的下标体系.一套从左往右,一套从右往左. 1 import numpy as np 2 import sys 3 4 def main(): 5 ...

  3. 搜集C++实现的线程池

    现在很多语言都内置了线程池实现,但C++中却没有.本文列举一些C++实现的线程池工具. Boost.Threadpool 项目首页:http://threadpool.sourceforge.net ...

  4. spring 接收前台ajax传来的参数的几个方法

    知识补充 JSON.stringify(), 将value(Object,Array,String,Number...)序列化为JSON字符串JSON.parse(), 将JSON数据解析为js原生值 ...

  5. Impala学习–Impala后端代码分析

    Table of Contents 1 代码结构 2 StateStore 3 Scheduler 4 impalad启动流程 5 Coordinator 6 ExecNode 7 PlanFragm ...

  6. springcloud-05-ribbon中不使用eureka

    ribbon在有eureka的情况下, 可以不使用eureka, 挺简单, 直接上代码 application.xml server: port: spring: # 设置eureka中注册的名称, ...

  7. XML CData 处理

    调研了 JAXB.XMLMapper(jackson) 具体方式 实现 优势 JAXB 1. 需要增加 CDATA 的Adaptor 2. 需要增加对非CDATA 的 CharacterEscapeH ...

  8. php的explode()和split()的区别

    都是分割,区别就是,split要用转移字符: 1.   $test = end(explode('.', 'abc.txt'));    echo $test;//output txt   2.    ...

  9. Storm:分布式流式计算框架

    Storm是一个分布式的.高容错的实时计算系统.Storm适用的场景: Storm可以用来用来处理源源不断的消息,并将处理之后的结果保存到持久化介质中. 由于Storm的处理组件都是分布式的,而且处理 ...

  10. 转:Java8内存模型—永久代(PermGen)和元空间(Metaspace)

    一.JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈.堆.方法区.程序计数器.本地方法栈五个部分. 1.虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建.栈里面存着的是一种叫“栈 ...