地圖切片

 

這個是搜狗
var tilePos:Point = new Point(col,row);
			
			
			
			
			zoom = zoom - 1;
			
			
			
			var offsetX:Number = Math.pow(2,zoom);
			
			var offsetY:Number = offsetX - 1;
			
			
			
			var numX:Number = tilePos.x - offsetX;
			
			var numY:Number = (-tilePos.y) + offsetY;
			
			
			
			zoom = zoom + 1;
			
			
			
			var l:int = 729 - zoom;
			
			if (l == 710) l = 792;
			
			
			
			var blo:Number = Math.floor(numX / 200);
			
			var bla:Number = Math.floor(numY / 200);
			
			
			
			var los:String,las:String,blos:String,blas:String;
			
			if (numX < 0) 
				
				los = "M" + ( - numX);
				
			else
				
				los = "" + numX;
			
			if (numY < 0) 
				
				las = "M" + ( - numY);
				
			else
				
				las = "" + numY;
			
			if (blo < 0) 
				
				blos = "M" + ( - blo);
				
			else
				
				blos = "" + blo;
			
			if (bla < 0) 
				
				blas = "M" + ( - bla);
				
			else
				
				blas = "" + bla;
			
			
			
			var x:String = numX.toString().replace("-","M");
			
			var y:String = numY.toString().replace("-","M");
			
			
			
			var num:int = (tilePos.x + tilePos.y) % tileUrls.length;
			
			
			
			var strURL:String = "";
			
			strURL = tileUrls[num] + l + "/" + blos + "/" + blas + "/" + x + "_" + y + ".GIF";

 這個是51地圖

    //覆蓋加載地圖數據的方法,這個很重要,地圖數據從這裏讀取

        override public function loadTile(tilePos:Point, zoom:Number):DisplayObject {

            var testLoader:Loader = new Loader();

             

            var strURL:String = "";

 

            //51地圖是從左下角開始爲0,0的,所以這裏的Y需要翻轉一下

            tilePos.y = Math.pow(2,zoom - 1) - (tilePos.y - 1);

            strURL = getTileUrl(tilePos,zoom);

             

            //trace("x:" + tilePos.x + ",y:" + tilePos.y + ",url:" + strURL);

             

            var urlRequest:URLRequest;

            urlRequest =  new URLRequest(strURL);   //沒有地圖時顯示的內容

             

            testLoader.load(urlRequest);

            testLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

             

            return testLoader;

        }

 

 

發佈了35 篇原創文章 · 獲贊 1 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章