arcgis flex api 访问 google 地图
2010-03-14 00:28
645 查看
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地图服务
- ArcGIS Flex API 调用天地图和Google地图服务
- ArcGIS api for flex读取下载到本机的google瓦片地图 web墨卡托投影
- ArcGIS Flex API 调用天地图和Google地图服务
- arcgis for flex api version3.7 教程:8.创建地图
- 解决ArcGIS API for Silverlight 加载地图的内外网访问问题
- ArcGis api for flex 中 Map控件的属性开关(地图控件的导航功能开关属性)
- 南沙政府应急系统之GIS一张图(arcgis api for flex)讲解(六)地图搜索模块
- arcgis api for flex 开发入门(三)地图浏览控件的使用
- Arcgis api for flex项目实例—开发篇(3):地图级别控制器
- 自定义ArcGIS API for Flex 地图提示窗体
- arcgis api for flex 开发入门(三)地图浏览控件的使用
- ArcGIS API For Flex(在应用程序中添加web地图)
- 天津政府应急系统之GIS一张图(arcgis api for flex)解说(三)显示地图坐标系模块
- ArcGIS API for Flex(三) 地图之间的切换
- arcgis for flex api version3.7 教程:5.使用Editor对地图进行编辑
- 使用ArcGIS API for Flex构建Android和iOS移动地图应用程序
- 南沙政府应急系统之GIS一张图(arcgis api for flex)讲解(七)地图打印模块
- ArcGIS.Server.9.3和ArcGIS API for Flex实现基本的地图浏览(一)