ArcGIS api for flex读取下载到本机的google瓦片地图 web墨卡托投影

本文介绍如何利用ArcGIS API for Flex来读取并显示存储在本机的Google瓦片地图,主要涉及Web墨卡托投影的转换和地图类的使用。


GoogeleLayer.as

/**
 * @Description:
 * @Type:组件类
 * @Copyright: Copyright 2013
 * @Company:
 * @Author : NEIL
 * @Date:2013-10-21
 * @Version 1.0
 */
package com
{
	import com.esri.ags.SpatialReference;
	import com.esri.ags.geometry.Extent;
	import com.esri.ags.geometry.MapPoint;
	import com.esri.ags.layers.TiledMapServiceLayer;
	import com.esri.ags.layers.supportClasses.LOD;
	import com.esri.ags.layers.supportClasses.TileInfo;

	import flash.events.Event;
	import flash.net.URLRequest;

	public class GoogeleLayer extends TiledMapServiceLayer
	{
		public var _fullextent:String="";
		public var _initextent:String="";
		[Bindable]
		public var _tileInfo:TileInfo=new TileInfo();
		private var _baseURL:String="";

		public function GoogeleLayer()
		{
			super();
		}

		public function getXml():void
		{
			buildTileInfo();
			setLoaded(true);
		}

		override public function get fullExtent():Extent
		{
			var fullExtentArr:Array=_fullextent.split(",");
			return new Extent(Number(fullExtentArr[0]), Number(fullExtentArr[1]), Number(fullExtentArr[2]), Number(fullExtentArr[3]), new SpatialReference(102113));
		}

		override public function get initialExtent():Extent
		{
			var initExtentArr:Array=_initextent.split(",");
			return new Extent(Number(initExtentArr[0]), Number(initExtentArr[1]), Number(initExtentArr[2]), Number(initExtentArr[3]), 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 urlMap:String=baseURL + "/tiles" + "/" + String(level) + "/" + col.toString() + "/" + row.toString() + ".png";
			return new URLRequest(urlMap);
		}

		public function get baseURL():String
		{
			return _baseURL;
		}

		public function set baseURL(value:String):void
		{
			_baseURL=value;
		}

		public function buildTileInfo():void
		{
			_tileInfo.height=256;
			_tileInfo.width=256;
			_tileInfo.origin=new MapPoint(-20037508.342787001, 20037508.342787001);
			_tileInfo.spatialReference=new SpatialReference(102113);
			_tileInfo.lods=[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),];
		}


	}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值