ArcGIS Server Flex API连接Googlemap
来源:互联网 发布:pp助手网络连接失败 编辑:程序博客网 时间:2024/06/10 22:05
ArcGIS Server Flex API连接Googlemap
(本实例只是个人兴趣研究,如果想要应用到商业用途,请联系相关厂家)
ArcGIS Server Flex API连接Googlemap的地图数据,原理是通过访问Googlemap地图服务的切片数据,重载ArcGIS ServerFelx API的TiledMapServiceLayer接口类,主要实现了对于Googlemap影像切片数据、道路等POI切片数据和矢量切片数据的接入。
以下为实现的完整代码
package com.esri.viewer.components.extensionMaps
{
importcom.esri.ags.SpatialReference;
importcom.esri.ags.geometry.Extent;
importcom.esri.ags.geometry.MapPoint;
importcom.esri.ags.layers.TiledMapServiceLayer;
importcom.esri.ags.layers.supportClasses.LOD;
importcom.esri.ags.layers.supportClasses.TileInfo;
importflash.net.URLRequest;
//扩展TiledMapServiceLayer图层实现加载google地图
public classGoogleMapLayer extends TiledMapServiceLayer
{
private var_tileInfo:TileInfo = new TileInfo();
private var _baseURL:String=”";
private var_initialExtent:Extent;
private var_wkid:int = 102113;
public varmapType:String=”Map”;
public functionGoogleMapLayer(initialExtent:Extent)
{
super();
_initialExtent =initialExtent;
buildTileInfo();
setLoaded(true);
}
override publicfunction get fullExtent():Extent
{
return newExtent(-20037508.342787, -20037508.342787, 20037508.342787, 20037508.342787,new SpatialReference(_wkid));
}
override publicfunction get initialExtent():Extent
{
if(_initialExtent)
return_initialExtent;
returnfullExtent;
}
override publicfunction get spatialReference():SpatialReference
{
return newSpatialReference(wkid);
}
override publicfunction get tileInfo():TileInfo
{
return_tileInfo;
}
overrideprotected function getTileURL(level:Number, row:Number, col:Number):URLRequest
{
var s:String =“Galileo”.substring(0, ((3 * x + y) % 8));
var url:String;
//获取矢量地图
if(mapType ==“Map”)
{
url =“http://mt”+(col%4)+”.google.cn/vt/lyrs=m@158000000&hl=zh-CN&gl=cn&”+
“x=” + col +“&” +
“y=” + row +“&” +
“z=” + level+“&” +
“s=” + s;
}
else if(mapType== “Image”)//获取影像地图
{
url =“http://mt”+(col%4)+”.google.cn/vt/lyrs=s@101&hl=zh-CN&gl=cn&” +
“x=” + col +“&” +
“y=” + row +“&” +
“z=” + level+“&” +
“s=” + s;
}
else if(mapType== “POI”)//获取道路等POI,和影像地图配合使用
{
url =“http://mt”+(col%4)+”.google.cn/vt/imgtp=png32&lyrs=h@169000000&hl=zh-CN&gl=cn&”+
“x=” + col +“&” +
“y=” + row +“&” +
“z=” + level+“&” +
“s=” + s;
}
return newURLRequest(url);
}
private functionbuildTileInfo():void
{
_tileInfo.height=256;
_tileInfo.width=256;
_tileInfo.origin=newMapPoint(-20037508.342787, 20037508.342787);
_tileInfo.spatialReference=newSpatialReference(_wkid);
_tileInfo.lods =[
new LOD(0,156543.033928, 591657527.591555),
new LOD(1,78271.5169639999, 295828763.795777),
new LOD(2,39135.7584820001, 147914381.897889),
new LOD(3,19567.8792409999, 73957190.948944),
new LOD(4,9783.93962049996, 36978595.474472),
new LOD(5,4891.96981024998, 18489297.737236),
new LOD(6,2445.98490512499, 9244648.868618),
new LOD(7,1222.99245256249, 4622324.434309),
new LOD(8,611.49622628138, 2311162.217155),
new LOD(9,305.748113140558, 1155581.108577),
new LOD(10,152.874056570411, 577790.554289),
new LOD(11,76.4370282850732, 288895.277144),
new LOD(12,38.2185141425366, 144447.638572),
new LOD(13,19.1092570712683, 72223.819286),
new LOD(14,9.55462853563415, 36111.909643),
new LOD(15,4.77731426794937, 18055.954822),
new LOD(16,2.38865713397468, 9027.977411),
new LOD(17,1.19432856685505, 4513.988705),
new LOD(18,0.597164283559817, 2256.994353),
new LOD(19,0.298582141647617, 1128.497176)
];
}
}
}
需要确定googlemap地图服务的坐标系和地图服务的地址。
运行结果为
图一、矢量数据
图二、影像数据
图三、混合模式
- ArcGIS Server Flex API连接Googlemap
- ArcGIS Server Flex API
- ArcGIS Server Flex API对象关系图
- arcgis server api for flex 笔记
- ArcGIS Server Flex API接入MapABC地图
- ArcGIS Server Flex API接入百度地图
- arcgis server api for flex 笔记
- ADF vs. ArcGIS Server Javascript/Flex/Silverlight API
- 自定义ArcGIS Server API for Flex 地图提示窗体
- ArcGis server api for flex widget的 理解
- ArcGis server api for flex widget的 理解--自定义组件。
- ArcGIS Server Flex API调用GP服务的一般步骤
- ArcGIS Server FLEX API调用百度地图实现技术
- 关于ArcGIS Server API for Flex 模糊查询的方法
- Flex+GoogleMap
- ArcGIS.Server.9.3和ArcGIS API for Flex实现Query查询定位中心功能(七)
- ARCGIS viewer入门(7)扩展arcgis server flex API功能
- ArcGIS.Server.9.3和ArcGIS API for Flex实现基本的地图浏览(一)
- ucos中的异常处理
- 读书笔记——Windows核心编程(8)Interlocked单向链式栈
- 优化sql语句的若干方法
- OS X Mountain Lion 系统配置 Apache+Mysql+PHP 详细教程
- C++中static_cast, dynamic_cast, const_cast用法/使用情况及区别解析
- ArcGIS Server Flex API连接Googlemap
- 斯坦福大学机器学习课程原始讲义 + 公开课视频
- QT overwrite file
- memory management for dispatch queue &ARC
- Android 开发利用wifi调试
- Java Date and Time系列(一)- 概述
- 编译android ICS错误解决办法
- 通过SaveFileDialog实现保存文件
- css postion的两种属性学习 absolute 和 relative