Show
Ignore:
Timestamp:
12/04/07 17:36:33 (13 months ago)
Author:
gyuque
Message:

lang/actionscript/swfgmap

Location:
lang/actionscript/swfgmap/trunk
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • lang/actionscript/swfgmap/trunk/TestApp.as

    r2413 r2421  
    1717                        stage.scaleMode = StageScaleMode.NO_SCALE; 
    1818                         
    19                         var vp:GMapViewport = new GMapViewport(36.09992, 139.65497, 640, 480, 2); 
     19                        var vp:GMapViewport = new GMapViewport(36.09992, 139.65497, 640, 480, 9); 
    2020                         
    2121                         
  • lang/actionscript/swfgmap/trunk/gyuque/gmap/GMapCalc.as

    r2384 r2421  
    5252                        return Math.pow(2, zoom+8);              
    5353                } 
     54                 
     55                public static function calcTileData(x:Number, y:Number, zoom:int, layer:int):Object 
     56                { 
     57                        if (zoom < 0) 
     58                                throw "illegal zoom level"; 
     59 
     60                        var mapSize:Number = calcMapSize(zoom); 
     61                        var ox:int = Math.floor(x*mapSize) % TILE_SIZE; 
     62                        var oy:int = Math.floor(y*mapSize) % TILE_SIZE; 
     63                        var tx:int = Math.floor(x*mapSize / TILE_SIZE); 
     64                        var ty:int = Math.floor(y*mapSize / TILE_SIZE); 
     65 
     66                        switch(layer) 
     67                        { 
     68                        case 0: 
     69                                return {tile_index: {x:tx, y:ty}, offset: {x:ox, y:oy}, tile_zoom: (17-zoom)}; 
     70                        } 
     71         
     72                        throw "illegal layer index"; 
     73                } 
    5474        } 
    5575} 
  • lang/actionscript/swfgmap/trunk/gyuque/gmap/GMapMapLayer.as

    r2413 r2421  
    44        import flash.display.*; 
    55        import flash.geom.Point; 
     6        import flash.net.URLRequest; 
    67         
    78        public class GMapMapLayer extends Layer 
     
    2526                protected override function updateContent(refreshAll:Boolean):void 
    2627                { 
    27                          
     28                        var v:GMapViewport = mViewport; 
     29                        if (refreshAll && v) 
     30                        { 
     31                                var tiledata:Object = GMapCalc.calcTileData(v.centerNX, v.centerNY, v.zoom, 0); 
     32                                 
     33                                var ldr:Loader = new Loader(); 
     34                                var Murl:String = "http://mt1.google.com/mt?n=404&v=w2.61&x="+tiledata.tile_index.x+"&y="+tiledata.tile_index.y+"&zoom="+tiledata.tile_zoom; 
     35                                var req:URLRequest = new URLRequest(Murl); 
     36                                addChild(ldr); 
     37                                ldr.load(req); 
     38                                ldr.x = -128; 
     39                                ldr.y = -128; 
     40                                 
     41                                GMapView(stage.getChildAt(0)).puts(Murl); 
     42                        } 
    2843                } 
    2944        } 
  • lang/actionscript/swfgmap/trunk/gyuque/gmap/GMapView.as

    r2413 r2421  
    3939                                fmtDebugOut.size = 9; 
    4040                                txDebugOut.height = height; 
     41                                txDebugOut.width = 600; 
    4142                        } 
    4243                         
  • lang/actionscript/swfgmap/trunk/gyuque/gmap/GMapViewport.as

    r2413 r2421  
    7272                } 
    7373                 
     74                public function get zoom():int 
     75                { 
     76                        return mZoom; 
     77                } 
     78                 
     79                 
    7480                public function moveByPixel(dx:Number, dy:Number):void 
    7581                { 
     
    8086                        transformVectorScreenToView(dx, dy, v); 
    8187                         
    82                         mNrmXY.x = mScreenXY.x / mMapSize; 
    83                         mNrmXY.y = mScreenXY.y / mMapSize; 
     88                        mBitmapXY.x += dx; 
     89                        mBitmapXY.y += dy; 
     90                         
     91                        mNrmXY.x = mBitmapXY.x / mMapSize; 
     92                        mNrmXY.y = mBitmapXY.y / mMapSize; 
    8493                         
    8594                        GMapCalc.XYtoLatLng(mNrmXY.x, mNrmXY.y, mLatlng); 
     
    119128                        return mViewToScreen; 
    120129                } 
     130                 
     131                public function get centerBitmapX():Number 
     132                { 
     133                        return mBitmapXY.x; 
     134                } 
    121135         
     136                public function get centerBitmapY():Number 
     137                { 
     138                        return mBitmapXY.y; 
     139                } 
     140                 
     141                public function get centerNX():Number 
     142                { 
     143                        return mNrmXY.x; 
     144                } 
     145         
     146                public function get centerNY():Number 
     147                { 
     148                        return mNrmXY.y; 
     149                } 
     150                 
    122151        } 
    123152}