Changeset 2454

Show
Ignore:
Timestamp:
12/05/07 04:08:12 (5 years ago)
Author:
gyuque
Message:

lang/actionscript/swfgmap

Location:
lang/actionscript/swfgmap/trunk
Files:
3 added
4 modified

Legend:

Unmodified
Added
Removed
  • lang/actionscript/swfgmap/trunk/gyuque/gmap/ViewportUpdater.as

    r2452 r2454  
    55                private var mCurViewport:GMapViewport = null; 
    66                private var mListener:IMeshMap; 
     7                private var mGHash:GridHash; 
     8                 
     9                private var mReqQueue:XYQueue; 
    710                 
    811                public function ViewportUpdater(listener:IMeshMap) 
    912                { 
    1013                        mListener = listener; 
     14                        mGHash = new GridHash(); 
    1115                } 
    1216                 
     
    2832                } 
    2933                 
     34                private function spread(tx:int, ty:int):void 
     35                { 
     36                        checkAndLoad(tx    , ty - 1); 
     37                        checkAndLoad(tx + 1, ty    ); 
     38                        checkAndLoad(tx    , ty + 1); 
     39                        checkAndLoad(tx - 1, ty    ); 
     40                } 
     41                 
     42                private function checkAndLoad(tx:int, ty:int):void 
     43                { 
     44                        if (!mGHash.peek(tx, ty)) 
     45                        { 
     46                                mGHash.poke(tx, ty, 1); 
     47                                mListener.loadTile(tx, ty); 
     48                        } 
     49                } 
     50                 
    3051                private function loadCenterTile():void 
    3152                { 
     
    3455 
    3556                        mListener.setTileOffset(tiledata.offset.x, tiledata.offset.y); 
    36                         mListener.loadTile(tiledata.tile_index.x, tiledata.tile_index.y); 
     57                         
     58                        checkAndLoad(tiledata.tile_index.x, tiledata.tile_index.y); 
     59                        spread(tiledata.tile_index.x, tiledata.tile_index.y); 
    3760                } 
    3861        } 
    3962} 
     63 
     64class XYQueue 
     65{ 
     66        private var Xs:Array; 
     67        private var Ys:Array; 
     68         
     69        public function consume(out:Object):Boolean 
     70        { 
     71                if (Xs.length < 1) return false; 
     72                 
     73                out.x = Xs.shift(); 
     74                out.y = Ys.shift(); 
     75                return true; 
     76        } 
     77         
     78        public function get empty():Boolean 
     79        { 
     80                return Xs.length < 1; 
     81        } 
     82         
     83        public function push(x:int, y:int):void 
     84        { 
     85                Xs.push(x); 
     86                Ys.push(y); 
     87        } 
     88} 
  • lang/actionscript/swfgmap/trunk/gyuque/gmap/googlemaps/GMapMapLayer.as

    r2452 r2454  
    4545                        var tile:GMapMapTile = new GMapMapTile(tx, ty, GMapCalc.calcMapsZoomIndex(mViewport.zoom)); 
    4646                         
    47                         addChild(tile.loadTile()); 
     47                        addChild(tile); 
     48                        tile.loadTile(); 
     49//                      addChild(tile.loadTile()); 
    4850                                 
    4951                        var c:int = GMapCalc.TILE_SIZE/2; 
  • lang/actionscript/swfgmap/trunk/gyuque/gmap/googlemaps/GMapMapTile.as

    r2429 r2454  
    33        import flash.display.*; 
    44        import flash.net.URLRequest; 
     5         
     6        import gyuque.gmap.*; 
    57         
    68        public class GMapMapTile extends Loader 
     
    1012                { 
    1113                        var server_index:int = tx%4; 
    12                         mTileURL = "http://mt"+server_index+".google.com/mt?n=404&v=w2.61&x="+tx+"&y="+ty+"&zoom="+z; 
     14                        mTileURL = "http://mt"+server_index+".google.com/mt?n=404&v=ap.63&x="+tx+"&y="+ty+"&zoom="+z; 
    1315                } 
    1416                 
    1517                public function loadTile():Loader 
    1618                { 
     19                GMapView(stage.getChildAt(0)).puts(mTileURL); 
    1720                        var req:URLRequest = new URLRequest(mTileURL); 
    1821                        load(req); 
  • lang/actionscript/swfgmap/trunk/testapp.html

    r2413 r2454  
    66                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    77                <title>TestApp</title> 
     8                <script src="http://maps.google.com/maps?file=api&amp;v=2"></script> 
     9                <script src="./helper-js/getTileVer.js"></script> 
    810        </head> 
    911        <body>