Changeset 97
- Timestamp:
- 02/06/07 22:12:35 (2 years ago)
- Files:
-
- trunk/as2/lib/com/modestmaps/geo/Map.as (modified) (1 diff)
- trunk/as2/lib/com/modestmaps/mapproviders/AbstractImageBasedMapProvider.as (added)
- trunk/as2/lib/com/modestmaps/mapproviders/google/AbstractGoogleMapProvider.as (added)
- trunk/as2/lib/com/modestmaps/mapproviders/google/GoogleAerialMapProvider.as (added)
- trunk/as2/lib/com/modestmaps/mapproviders/google/GoogleHybridMapProvider.as (added)
- trunk/as2/lib/com/modestmaps/mapproviders/google/GoogleRoadMapProvider.as (added)
- trunk/as2/lib/com/modestmaps/mapproviders/IMapProvider.as (modified) (1 diff)
- trunk/as2/lib/com/modestmaps/mapproviders/MapProviderFactory.as (modified) (2 diffs)
- trunk/as2/lib/com/modestmaps/mapproviders/MapProviders.as (modified) (1 diff)
- trunk/as2/lib/com/modestmaps/mapproviders/microsoft/AbstractMicrosoftMapProvider.as (modified) (4 diffs)
- trunk/as2/lib/SampleClient.as (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/as2/lib/com/modestmaps/geo/Map.as
r95 r97 42 42 setMapProvider(mapProviderType); 43 43 44 grid = TileGrid(attachMovie(TileGrid.symbolName, 'grid', getNextHighestDepth(), 45 {mapProvider: mapProvider, _x: 0, _y: 0, width: width, height: height})); 44 var initObj : Object = 45 { 46 mapProvider: mapProvider, 47 _x: 0, 48 _y: 0, 49 width: width, 50 height: height 51 }; 52 53 grid = TileGrid(attachMovie(TileGrid.symbolName, 'grid', getNextHighestDepth(), initObj )); 46 54 47 55 var extent:/*Location*/Array = [new Location(37.829853, -122.514725), trunk/as2/lib/com/modestmaps/mapproviders/IMapProvider.as
r95 r97 29 29 */ 30 30 public function geometry():String; 31 32 public function toString() : String; 31 33 } trunk/as2/lib/com/modestmaps/mapproviders/MapProviderFactory.as
r70 r97 7 7 import com.modestmaps.mapproviders.*; 8 8 import com.modestmaps.mapproviders.microsoft.*; 9 import com.modestmaps.mapproviders.google.*; 9 10 10 11 class com.modestmaps.mapproviders.MapProviderFactory … … 59 60 case MapProviders.MICROSOFT_DELAYED : 60 61 return new MicrosoftDelayedAerialMapProvider(); 62 63 case MapProviders.GOOGLE_ROAD : 64 return new GoogleRoadMapProvider(); 65 66 case MapProviders.GOOGLE_AERIAL : 67 return new GoogleAerialMapProvider(); 68 69 case MapProviders.GOOGLE_HYBRID : 70 return new GoogleHybridMapProvider(); 71 72 case MapProviders.YAHOO_ROAD : 73 // return new YahooRoadMapProvider(); 74 75 case MapProviders.YAHOO_AERIAL : 76 // return new YahooAerialMapProvider(); 77 78 case MapProviders.YAHOO_HYBRID : 79 // return new YahooHybridMapProvider(); 80 81 case MapProviders.ZOOMIFY : 82 // return new ZoomifyMapProvider(); 61 83 62 84 default : trunk/as2/lib/com/modestmaps/mapproviders/MapProviders.as
r69 r97 8 8 { 9 9 public static var VANILLA : Number = 0; 10 10 11 public static var MICROSOFT_ROAD : Number = 1; 11 12 public static var MICROSOFT_AERIAL : Number = 2; 12 13 public static var MICROSOFT_HYBRID : Number = 3; 13 14 public static var MICROSOFT_DELAYED : Number = 4; 15 16 public static var GOOGLE_ROAD : Number = 5; 17 public static var GOOGLE_AERIAL : Number = 6; 18 public static var GOOGLE_HYBRID : Number = 7; 19 20 public static var YAHOO_ROAD : Number = 8; 21 public static var YAHOO_AERIAL : Number = 9; 22 public static var YAHOO_HYBRID : Number = 10; 23 24 public static var ZOOMIFY : Number = 11; 14 25 } trunk/as2/lib/com/modestmaps/mapproviders/microsoft/AbstractMicrosoftMapProvider.as
r75 r97 1 import com.modestmaps.mapproviders.Abstract MapProvider;1 import com.modestmaps.mapproviders.AbstractImageBasedMapProvider; 2 2 import com.modestmaps.core.Coordinate; 3 3 import com.modestmaps.util.BinaryUtil; 4 import com.modestmaps.io.LoadMovieThrottledRequest;5 import mx.utils.Delegate;6 4 import com.modestmaps.geo.MercatorProjection; 7 5 import com.modestmaps.geo.Transformation; … … 11 9 */ 12 10 class com.modestmaps.mapproviders.microsoft.AbstractMicrosoftMapProvider 13 extends Abstract MapProvider11 extends AbstractImageBasedMapProvider 14 12 { 15 13 public static var BASE_URL : String; … … 30 28 } 31 29 32 public function paint( clip : MovieClip, coord : Coordinate ) : Void33 {34 super.paint( clip, coord );35 36 var request : LoadMovieThrottledRequest = new LoadMovieThrottledRequest( clip.image, getTileUrl( coord ) );37 request.addEventListener( LoadMovieThrottledRequest.EVENT_REQUEST_ERROR, Delegate.create( this, this.onRequestError ));38 request.addEventListener( LoadMovieThrottledRequest.EVENT_RESPONSE_COMPLETE, Delegate.create( this, this.onResponseComplete ));39 request.addEventListener( LoadMovieThrottledRequest.EVENT_RESPONSE_ERROR, Delegate.create( this, this.onResponseError ));40 request.send();41 42 createLabel( clip, coord.toString() );43 }44 45 /*46 * Returns the value of BASE_URL for the class.47 */48 public function get baseUrl() : String49 {50 throw new Error( "Abstract method not implemented by subclass." );51 return null;52 }53 54 /*55 * Returns the value of ASSET_EXTENSION for the class.56 */57 public function get assetExtension() : String58 {59 throw new Error( "Abstract method not implemented by subclass." );60 return null;61 }62 63 /*64 * Returns the url needed to get the tile image.65 */66 private function getTileUrl( coord : Coordinate ) : String67 {68 throw new Error( "Abstract method not implemented by subclass." );69 return null;70 }71 72 30 private function getZoomString( coord : Coordinate ) : String 73 31 { … … 120 78 return coord; 121 79 } 122 123 // Event Handlers124 125 private function onRequestError( eventObj : Object ) : Void126 {127 }128 129 private function onResponseComplete( eventObj : Object ) : Void130 {131 var clip : MovieClip = MovieClip( eventObj.clip );132 var url : String = String( eventObj.url );133 134 raisePaintComplete( clip, getCoordinateFromURL( url ) );135 }136 137 private function onResponseError( eventObj : Object ) : Void138 {139 }140 80 } trunk/as2/lib/SampleClient.as
r95 r97 10 10 private static var __map : Map; 11 11 12 private static var __mpButtons : MovieClip; 13 12 14 public static function main(clip:MovieClip):Void 13 15 { … … 16 18 var initObj : Object = 17 19 { 18 mapProviderType: MapProviders. MICROSOFT_ROAD,20 mapProviderType: MapProviders.GOOGLE_ROAD, 19 21 _x: 128, 20 22 _y: 128, … … 35 37 buttons.push( makeButton(clip, 'clear', 'clear log', Delegate.create(__map.grid, __map.grid.clearLog))); 36 38 37 buttons.push( makeButton(clip, 'road', 'road', Delegate.create(SampleClient, SampleClient.showRoad)));38 buttons.push( makeButton(clip, 'aerial', 'aerial', Delegate.create(SampleClient, SampleClient.showAerial)));39 buttons.push( makeButton(clip, 'hybrid', 'hybrid', Delegate.create(SampleClient, SampleClient.showHybrid)));40 41 39 var nextX : Number = __map._x; 42 40 var nextY : Number = __map._y - buttons[0]['label']._height - 10; … … 49 47 } 50 48 49 50 // mapProvider buttons 51 52 __mpButtons = clip.createEmptyMovieClip( "mpButtons", clip.getNextHighestDepth() ); 53 54 buttons = new Array(); 55 56 buttons.push( makeButton(__mpButtons, 'MICROSOFT_ROAD', 'ms road', Delegate.create(SampleClient, SampleClient.switchMapProvider))); 57 buttons.push( makeButton(__mpButtons, 'MICROSOFT_AERIAL', 'ms aerial', Delegate.create(SampleClient, SampleClient.switchMapProvider))); 58 buttons.push( makeButton(__mpButtons, 'MICROSOFT_HYBRID', 'ms hybrid', Delegate.create(SampleClient, SampleClient.switchMapProvider))); 59 60 buttons.push( makeButton(__mpButtons, 'GOOGLE_ROAD', 'google road', Delegate.create(SampleClient, SampleClient.switchMapProvider))); 61 // buttons.push( makeButton(__mpButtons, 'GOOGLE_AERIAL', 'google aerial', Delegate.create(SampleClient, SampleClient.switchMapProvider))); 62 // buttons.push( makeButton(__mpButtons, 'GOOGLE_HYBRID', 'google hybrid', Delegate.create(SampleClient, SampleClient.switchMapProvider))); 63 64 // buttons.push( makeButton(__mpButtons, 'YAHOO_ROAD', 'yahoo road', Delegate.create(SampleClient, SampleClient.switchMapProvider))); 65 // buttons.push( makeButton(__mpButtons, 'YAHOO_AERIAL', 'yahoo aerial', Delegate.create(SampleClient, SampleClient.switchMapProvider))); 66 // buttons.push( makeButton(__mpButtons, 'YAHOO_HYBRID', 'yahoo hybrid', Delegate.create(SampleClient, SampleClient.switchMapProvider))); 67 68 __mpButtons._x = 128 + __map._x + __map._width; 69 __mpButtons._y = __map._y + 10; 70 71 nextY = 0; 72 73 for ( var i : Number = 0; i < buttons.length; i++ ) 74 { 75 buttons[i]._y = nextY; 76 nextY += buttons[i]['label']._height + 5; 77 buttons[i]._alpha = 60; 78 } 79 80 51 81 Reactor.callNextFrame(Delegate.create(__map, __map.nagAboutBoundsForever)); 52 82 } 53 83 54 84 55 private static function s howRoad() : Void85 private static function switchMapProvider( button : MovieClip ) : Void 56 86 { 57 __map.setMapProvider( MapProviders.MICROSOFT_ROAD ); 58 } 59 60 private static function showAerial() : Void 61 { 62 __map.setMapProvider( MapProviders.MICROSOFT_AERIAL ); 63 } 64 65 private static function showHybrid() : Void 66 { 67 __map.setMapProvider( MapProviders.MICROSOFT_HYBRID ); 87 __map.setMapProvider( MapProviders[button._name] ); 68 88 } 69 89 … … 88 108 button.endFill(0, 0); 89 109 90 button.onRelease = action; 110 button.onRelease = function() 111 { 112 action.apply( SampleClient, [button] ); 113 }; 91 114 92 115 return button;
