Flex 地图联动
来源:互联网 发布:大学c语言必背基础知识 编辑:程序博客网 时间:2024/05/19 20:45
前段时间用Flex做了一个地图联动,实现拖动、缩放其中一幅图,另一幅图随之变换的效果。废话不多说,上代码。
一。首先启动Flex,新建工程,将ArcGIS For Flex API 添加进来(我用的是1.3)
二。main.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundColor="white" xmlns:esri="http://www.esri.com/2008/ags">
<mx:Canvas height="100%" width="100%" creationComplete="adjustBlock()">
<esri:Map id="map1" logoVisible="false" borderStyle="solid" borderThickness="3" panEnd="Link2to1()" zoomEnd="Link2to1()" y="40">
<esri:extent>
<esri:Extent xmin="526470.5" ymin="4426604.1" xmax="533598.3" ymax="4433473.5">
<esri:SpatialReference wkid="32650"/>
</esri:Extent>
</esri:extent>
<esri:ArcGISDynamicMapServiceLayer id="DynamicMap1" url="<A href="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/">http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/>
</esri:Map>
<esri:Map id="map2" logoVisible="false" borderStyle="solid" borderThickness="3" panEnd="Link1to2()" zoomEnd="Link1to2()" y="40">
<esri:extent>
<esri:Extent xmin="526470.5" ymin="4426604.1" xmax="533598.3" ymax="4433473.5">
<esri:SpatialReference wkid="32650"/>
</esri:Extent>
</esri:extent>
<esri:ArcGISDynamicMapServiceLayer id="DynamicMap2" url="<A href="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/">http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/>
</esri:Map>
</mx:Canvas>
<mx:Button id="btnLink" toggle="true" label="地图联动" fontFamily="宋体" fontSize="12" click="btnLink_click()" x="150" y="10">
</mx:Button>
<mx:Script>
<![CDATA[
import flash.geom.Point;
import mx.events.ItemClickEvent;
private var btnLinkClick:Boolean = false; //联动按钮是否被点击
private var Link2to1canFire:Boolean = true; //是否能执行窗口2适应窗口1的联动操作
private var Link1to2canFire:Boolean = true; //是否能执行窗口1适应窗口2的联动操作
private var point1:Point=new Point;
private function adjustBlock():void
{
point1.x=Application.application.width;
point1.y=Application.application.height;
point1=Application.application.localToGlobal(point1);
map1.width=point1.x/2;
map2.width=map1.width;
map2.x=map1.width;
}
private function btnLink_click():void
{
Link1to2canFire=true;
Link2to1canFire=true;
if(btnLinkClick)
btnLinkClick=false;
else
btnLinkClick=true;
}
private function Link1to2():void
{
if(Link1to2canFire)
{
if(btnLinkClick)
{
map1.extent=map2.extent;
}
}
}
private function Link2to1():void
{
if(Link2to1canFire)
{
if(btnLinkClick)
{
map2.extent=map1.extent;
}
}
}
]]>
</mx:Script>
</mx:Application>
实现效果图如下:
- Flex 地图联动
- ArcGIS For Flex地图联动
- flex AdvancedDataGrid表格联动
- echarts地图三级联动
- Flex的多级联动功能
- 百度地图-省市县联动加载地图
- arcengine 两地图进行联动
- 地图二三维联动原理
- Flex绘制地图Map
- ArcGisServer Flex 地图查询
- flex 瓦片 地图
- Flex 加载地图
- flex 地图居中显示
- flex 做的省市二级联动
- flex datagrid 中实现combobox联动
- flex datagrid 中实现combobox联动
- Flex Tree和其他控件的联动
- flex datagrid 中实现combobox联动
- ESX Server 4.1的安装与破解全过程(五)
- 软件版本号的定义[整理版]
- RICH EDIT 控件 SDK 参考手册
- Blackberry Debug: Debug an application running on a live BlackBerry smartphone
- 如何成为一名专家级的开发人员 (转载)
- Flex 地图联动
- SQL Server VSS Writer
- C#中split的运用
- BSP技术详解
- VS2010安装到 "VsaEnv_Setup_x86_chs" 卡住的解决办法
- WinCE系统架构
- SQL语句执行效率及性能测试
- Eclipse连不上模拟器的问题[emulator-5554 disconnected] 与 ERROR: the user data image is used by another emulator. aborting
- 各种开发源代码软件许可证异同