(转载)arcgis flex api 访问 google 地图
2010-03-14 00:28
316 查看
package
{
import com.esri.ags.SpatialReference;
import com.esri.ags.geometry.Extent;
import com.esri.ags.geometry.MapPoint;
import com.esri.ags.layers.LOD;
import com.esri.ags.layers.TileInfo;
import com.esri.ags.layers.TiledMapServiceLayer;
import flash.net.URLRequest;
import mx.controls.Alert;
public class GoogleMapLayer extends TiledMapServiceLayer
{
public function GoogleMapLayer()
{
super();
buildTileInfo();
setLoaded(true);
}
private var _tileInfo:TileInfo=new TileInfo();
private var _baseURL:String="";
override public function get fullExtent():Extent
{
return new Extent(-9466091.13399388, 4610475.01946595, -8939371.68667449, 5183684.37031855, new SpatialReference(102113));
}
override public function get initialExtent():Extent
{
return new Extent(-9466091.13399388, 4610475.01946595, -8939371.68667449, 5183684.37031855, new SpatialReference(102113));
}
override public function get spatialReference():SpatialReference
{
return new SpatialReference(102113);
}
override public function get tileInfo():TileInfo
{
return _tileInfo;
}
override protected function getTileURL(level:Number, row:Number, col:Number):URLRequest
{
var _baseURL:String="http://khm2.google.com/kh/v=38&hl=zh-CN&x=";
var url:String=_baseURL + col.toString() + "&y=" + row.toString() + "&z=" + level.toString() + "&s=";
return new URLRequest(url);
}
private function buildTileInfo():void
{
_tileInfo.height=256;
_tileInfo.width=256;
_tileInfo.origin=new MapPoint(-20037508.342787, 20037508.342787);
_tileInfo.spatialReference=new SpatialReference(102113);
_tileInfo.lods = [
new LOD(0, 1222.99245256249, 4622324.434309),
new LOD(1, 611.49622628138, 2311162.217155),
new LOD(2, 305.748113140558, 1155581.108577),
new LOD(3, 152.874056570411, 577790.554289),
new LOD(4, 76.4370282850732, 288895.277144),
new LOD(5, 38.2185141425366, 144447.638572),
new LOD(6, 19.1092570712683, 72223.819286),
new LOD(7, 9.55462853563415, 36111.909643),
new LOD(8,1.19432856685505, 4513.988705)
];
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:esri="http://www.esri.com/2008/ags"
xmlns:google="*"
>
<mx:Text text="" width="100%"/>
<esri:Map>
<google:GoogleMapLayer id="googleMap" />
</esri:Map>
</mx:Application>
{
import com.esri.ags.SpatialReference;
import com.esri.ags.geometry.Extent;
import com.esri.ags.geometry.MapPoint;
import com.esri.ags.layers.LOD;
import com.esri.ags.layers.TileInfo;
import com.esri.ags.layers.TiledMapServiceLayer;
import flash.net.URLRequest;
import mx.controls.Alert;
public class GoogleMapLayer extends TiledMapServiceLayer
{
public function GoogleMapLayer()
{
super();
buildTileInfo();
setLoaded(true);
}
private var _tileInfo:TileInfo=new TileInfo();
private var _baseURL:String="";
override public function get fullExtent():Extent
{
return new Extent(-9466091.13399388, 4610475.01946595, -8939371.68667449, 5183684.37031855, new SpatialReference(102113));
}
override public function get initialExtent():Extent
{
return new Extent(-9466091.13399388, 4610475.01946595, -8939371.68667449, 5183684.37031855, new SpatialReference(102113));
}
override public function get spatialReference():SpatialReference
{
return new SpatialReference(102113);
}
override public function get tileInfo():TileInfo
{
return _tileInfo;
}
override protected function getTileURL(level:Number, row:Number, col:Number):URLRequest
{
var _baseURL:String="http://khm2.google.com/kh/v=38&hl=zh-CN&x=";
var url:String=_baseURL + col.toString() + "&y=" + row.toString() + "&z=" + level.toString() + "&s=";
return new URLRequest(url);
}
private function buildTileInfo():void
{
_tileInfo.height=256;
_tileInfo.width=256;
_tileInfo.origin=new MapPoint(-20037508.342787, 20037508.342787);
_tileInfo.spatialReference=new SpatialReference(102113);
_tileInfo.lods = [
new LOD(0, 1222.99245256249, 4622324.434309),
new LOD(1, 611.49622628138, 2311162.217155),
new LOD(2, 305.748113140558, 1155581.108577),
new LOD(3, 152.874056570411, 577790.554289),
new LOD(4, 76.4370282850732, 288895.277144),
new LOD(5, 38.2185141425366, 144447.638572),
new LOD(6, 19.1092570712683, 72223.819286),
new LOD(7, 9.55462853563415, 36111.909643),
new LOD(8,1.19432856685505, 4513.988705)
];
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:esri="http://www.esri.com/2008/ags"
xmlns:google="*"
>
<mx:Text text="" width="100%"/>
<esri:Map>
<google:GoogleMapLayer id="googleMap" />
</esri:Map>
</mx:Application>
相关文章推荐
- arcgis flex api 访问 google 地图
- ArcGIS api for flex读取下载到本机的google瓦片地图 web墨卡托投影
- ArcGIS Flex API 调用天地图和Google地图服务
- ArcGIS API for Flex 调用天地图和Google地图服务
- ArcGIS Flex API 调用天地图和Google地图服务
- 解决ArcGIS API for Silverlight 加载地图的内外网访问问题
- 使用ArcGIS API for Flex构建Android和iOS移动地图应用程序
- [转载]ArcGIS for Flex API 资料收集
- 地图上嵌入图片 - ArcGIS for FLEX API
- arcgis for flex api version3.7 教程:2.通过地图服务的ID添加地图
- 自定义ArcGIS Server API for Flex 地图提示窗体
- ArcGis api for flex 中 Map控件的属性开关(地图控件的导航功能开关属性)
- 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(五)地图切换以及图层显示模块
- ArcGIS.Server.9.3和ArcGIS API for Flex实现基本的地图浏览(一)
- Arcgis api for flex项目实例—开发篇(3):地图级别控制器
- [导入]在ARCGIS Server Flex API中无法加载地图的问题,前车之鉴
- arcgis flex跨网段访问地图的问题
- 自定义ArcGIS API for Flex 地图提示窗体
- ArcGIS API For Flex(设置地图空间范围)
- 解决ArcGIS API for Silverlight 加载地图的内外网访问问题