Changeset 2413 for lang/actionscript/swfgmap
- Timestamp:
- 12/04/07 16:53:02 (13 months ago)
- Location:
- lang/actionscript/swfgmap/trunk
- Files:
-
- 1 added
- 7 modified
-
TestApp.as (modified) (2 diffs)
-
gyuque/gmap/GMapMapLayer.as (modified) (1 diff)
-
gyuque/gmap/GMapView.as (modified) (5 diffs)
-
gyuque/gmap/GMapViewport.as (modified) (4 diffs)
-
gyuque/gmap/Layer.as (modified) (2 diffs)
-
gyuque/gmap/LayerManager.as (modified) (1 diff)
-
gyuque/gmap/Math2D.as (added)
-
testapp.html (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/actionscript/swfgmap/trunk/TestApp.as
r2384 r2413 2 2 { 3 3 import flash.display.*; 4 import flash.geom.*; 4 5 import gyuque.gmap.*; 5 6 … … 16 17 stage.scaleMode = StageScaleMode.NO_SCALE; 17 18 18 setViewport(new GMapViewport(36.09992, 139.65497, 640, 480, 2)); 19 var vp:GMapViewport = new GMapViewport(36.09992, 139.65497, 640, 480, 2); 20 21 22 var T:Matrix = new Matrix(); 23 T.rotate(0.1); 24 vp.setTransform(T); 25 setViewport(vp); 19 26 20 27 d_outMetrics(); -
lang/actionscript/swfgmap/trunk/gyuque/gmap/GMapMapLayer.as
r2385 r2413 10 10 { 11 11 super(eventSrc); 12 13 var g:Graphics = graphics; 14 15 g.beginFill(0xf5f0e9); 16 g.drawRect(-384, -128, 768, 256); 17 g.drawRect(-128, -384, 256, 768); 18 g.endFill(); 19 20 g.beginFill(0xfff8ef); 21 g.drawRect(-128, -128, 256, 256); 22 g.endFill(); 12 23 } 13 24 -
lang/actionscript/swfgmap/trunk/gyuque/gmap/GMapView.as
r2385 r2413 14 14 private var mDrag:DragInfo = new DragInfo(); 15 15 private var mBaseSprite:Sprite; 16 private var m Layerman:LayerManager;16 private var mSuperLayer:LayerManager; 17 17 private var mCurrentViewport:GMapViewport; 18 18 … … 27 27 } 28 28 29 mSuperLayer = new LayerManager(this); 30 addChild(mSuperLayer); 31 29 32 if (options.debug_box) 30 33 { … … 38 41 } 39 42 40 mLayerman = new LayerManager(this);41 43 addGoogleMapLayer(); 42 44 … … 53 55 mCurrentViewport = v; 54 56 fireViewportChange(); 55 56 puts(mCurrentViewport.pixelY.toString());57 57 } 58 58 … … 74 74 { 75 75 var lyr:Layer = new GMapMapLayer(this); 76 m Layerman.push(lyr);76 mSuperLayer.push(lyr); 77 77 78 78 return true; -
lang/actionscript/swfgmap/trunk/gyuque/gmap/GMapViewport.as
r2386 r2413 36 36 37 37 calcXY(); 38 mScreenXY.x = 0; 39 mScreenXY.y = 0; 38 40 } 39 41 40 private function transformVectorScreenToView(x:Number, y:Number, Point:out):void 42 private function transformVectorScreenToView(x:Number, y:Number, out:Point):void 43 { 44 out.x = x; 45 out.y = y; 46 47 Math2D.transformNoMove(out, mInvViewToScreen); 48 } 49 /* 50 private function transformVectorViewToScreen(x:Number, y:Number, out:Point):void 41 51 { 42 52 } 43 53 */ 44 54 private function resetTransform():void 45 55 { 46 56 mViewToScreen.identity(); 47 57 mInvViewToScreen.identity(); 58 } 59 60 public function setTransform(M:Matrix):void 61 { 62 mViewToScreen = M; 63 64 mInvViewToScreen = M.clone(); 65 mInvViewToScreen.invert(); 48 66 } 49 67 … … 59 77 mScreenXY.y += dy; 60 78 79 var v:Point = new Point(); 80 transformVectorScreenToView(dx, dy, v); 81 61 82 mNrmXY.x = mScreenXY.x / mMapSize; 62 83 mNrmXY.y = mScreenXY.y / mMapSize; … … 69 90 GMapCalc.LatLngToXY(mLatlng.lat, mLatlng.lng, mNrmXY); 70 91 71 m ScreenXY.x = mNrmXY.x * mMapSize;72 m ScreenXY.y = mNrmXY.y * mMapSize;92 mBitmapXY.x = mNrmXY.x * mMapSize; 93 mBitmapXY.y = mNrmXY.y * mMapSize; 73 94 } 74 95 … … 84 105 85 106 86 public function get pixelX():Number107 public function get screenX():Number 87 108 { 88 109 return mScreenXY.x; 89 110 } 90 111 91 public function get pixelY():Number112 public function get screenY():Number 92 113 { 93 114 return mScreenXY.y; 94 115 } 95 116 117 public function get to_screen_transform():Matrix 118 { 119 return mViewToScreen; 120 } 96 121 97 122 } -
lang/actionscript/swfgmap/trunk/gyuque/gmap/Layer.as
r2385 r2413 9 9 private var prevScreenXY:Point; 10 10 protected var mViewport:GMapViewport; 11 12 protected var mLastDX:Number; 13 protected var mLastDY:Number; 14 11 15 public function Layer(eventSrc:EventDispatcher) 12 16 { 13 17 eventSrc.addEventListener(GMapViewEvent.VIEWPORT_CHANGED, onViewportChanged); 14 15 var g:Graphics = graphics;16 17 g.beginFill(0xf5f0e9);18 g.drawRect(-384, -128, 768, 256);19 g.drawRect(-128, -384, 256, 768);20 g.endFill();21 22 g.beginFill(0xfff8ef);23 g.drawRect(-128, -128, 256, 256);24 g.endFill();25 18 } 26 19 … … 32 25 if (!prevScreenXY) 33 26 { 34 prevScreenXY = new Point(v.pixelX, v.pixelY); 35 x = v.width * 0.5; 36 y = v.height * 0.5; 27 prevScreenXY = new Point(v.screenX, v.screenY); 37 28 updateContent(true); 38 29 } 39 30 else 40 31 { 41 var dx:Number = v.pixelX - prevScreenXY.x;42 var dy:Number = v.pixelY - prevScreenXY.y;32 mLastDX = v.screenX - prevScreenXY.x; 33 mLastDY = v.screenY - prevScreenXY.y; 43 34 44 x += dx; 45 y += dy; 46 47 prevScreenXY.x = v.pixelX; 48 prevScreenXY.y = v.pixelY; 35 prevScreenXY.x = v.screenX; 36 prevScreenXY.y = v.screenY; 37 updateContent(false); 49 38 } 50 39 } -
lang/actionscript/swfgmap/trunk/gyuque/gmap/LayerManager.as
r2384 r2413 1 1 package gyuque.gmap 2 2 { 3 public class LayerManager 3 public class LayerManager extends Layer 4 4 { 5 5 import flash.display.DisplayObjectContainer; 6 import flash.geom.Matrix; 6 7 7 8 private var mLayers:Array = new Array(); 8 private var mContainer:DisplayObjectContainer;9 9 10 10 public function LayerManager(c:DisplayObjectContainer) 11 11 { 12 mContainer = c;12 super(c); 13 13 } 14 14 15 15 public function push(lyr:Layer):void 16 16 { 17 mLayers.push(lyr); 18 addChild(lyr); 19 } 17 20 18 mLayers.push(lyr); 19 mContainer.addChild(lyr); 21 protected override function updateContent(refreshAll:Boolean):void 22 { 23 var v:GMapViewport = mViewport; 24 25 var M:Matrix = v.to_screen_transform; 26 M.tx = transform.matrix.tx; 27 M.ty = transform.matrix.ty; 28 29 if (refreshAll) 30 { 31 M.tx = v.width * 0.5; 32 M.ty = v.height * 0.5; 33 } 34 else 35 { 36 M.tx += mLastDX; 37 M.ty += mLastDY; 38 } 39 transform.matrix = M; 20 40 } 21 41 } -
lang/actionscript/swfgmap/trunk/testapp.html
r2320 r2413 9 9 <body> 10 10 <div> 11 <object data="TestApp.swf" type="application/x-shockwave-flash" width="640" height="480"> 12 <param name="movie" value="TestApp.swf" /> 11 <object data="./TestApp.swf" type="application/x-shockwave-flash" width="640" height="480"> 12 <param name="movie" value="./TestApp.swf" /> 13 <param name="autostart" value="true" /> 13 14 <p>Install Flash Player 9</p> 14 15 </object>
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)