Changeset 600
- Timestamp:
- 07/16/08 13:33:31 (2 months ago)
- Files:
-
- branches/tom-tweenlite/lib/com/modestmaps/core/TileGrid.as (modified) (16 diffs)
- branches/tom-tweenlite/lib/com/modestmaps/Map.as (modified) (11 diffs)
- branches/tom-tweenlite/lib/com/stamen (deleted)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/tom-tweenlite/lib/com/modestmaps/core/TileGrid.as
r599 r600 187 187 addChild(well); 188 188 189 /* worldMatrix = new Matrix();190 worldMatrix.translate(_panX,_panX);191 worldMatrix.scale(_scale,_scale);192 worldMatrix.translate(mapWidth/2, mapHeight/2); */193 194 189 worldMatrix = new Matrix(); 195 /* worldMatrix.translate(-provider.tileWidth/2, -provider.tileHeight/2);196 worldMatrix.scale(1, 1);197 worldMatrix.translate(mapWidth/2, mapHeight/2); */198 190 199 191 addEventListener(Event.ADDED_TO_STAGE, onAddedToStage); … … 253 245 } 254 246 255 // if (!panning && !zooming) { 256 processQueue(); 257 // } 258 247 processQueue(); 259 248 } 260 249 … … 275 264 } 276 265 else { 277 trace("panning but no startPan"); 266 // TODO: this should probably be an error, but I'm not convinced that it can't happen yet :) 267 //trace("panning but no startPan"); 278 268 } 279 269 } … … 284 274 dispatchEvent(zoomEvent); 285 275 } 286 287 //var startTime:Number = getTimer();288 276 289 277 // TODO: … … 456 444 if (stillNeedsAnImage) { 457 445 blankCount++; 458 //trace("sorry, no parent known for", key);459 446 } 460 447 … … 534 521 535 522 dirty = false; 536 537 //trace((getTimer() - startTime)/1000.0, "seconds in TileGrid.onRender");538 523 539 524 } … … 683 668 else { 684 669 // TODO: keep it around since we did the work 685 // only if it didn't have more overlays to come 686 // trace("\t \t !!! parent already removed:", loader.name); 687 // trace("\t \t !!! tl/br:", topLeftCoordinate, bottomRightCoordinate); 670 // but only if it didn't have more overlays to come 688 671 } 689 672 var index:int = openRequests.indexOf(loader); … … 695 678 private function onLoadError(event:IOErrorEvent):void 696 679 { 697 //trace("\t \t !!! load error: ", event.text);698 680 var foundLoader:Boolean = false; 699 681 var loaderInfo:LoaderInfo = event.target as LoaderInfo; … … 705 687 if (tile) { 706 688 delete layersNeeded[tile]; 707 //trace("painting error");708 689 tile.paintError(provider.tileWidth, provider.tileHeight); 709 690 if (tile.zoom == currentZoom) { … … 864 845 public function prepareForZooming():void 865 846 { 866 //trace(getTimer(), 'TileGrid.prepareForZooming');867 847 if (startZoom >= 0) { 868 848 doneZooming(); 869 849 } 850 870 851 startZoom = zoomLevel; 871 852 zooming = true; 872 var event:MapEvent = new MapEvent(MapEvent.START_ZOOMING); 873 event.zoomLevel = startZoom; 874 dispatchEvent(event); 853 854 dispatchEvent(new MapEvent(MapEvent.START_ZOOMING, startZoom)); 875 855 } 876 856 877 857 public function doneZooming():void 878 858 { 879 //trace(getTimer(), 'TileGrid.doneZooming');880 859 startZoom = -1; 881 860 zooming = false; 882 var event:MapEvent = new MapEvent(MapEvent.STOP_ZOOMING); 883 event.zoomLevel = zoomLevel; 884 dispatchEvent(event); 861 862 dispatchEvent(new MapEvent(MapEvent.START_ZOOMING, zoomLevel)); 885 863 } 886 864 887 865 public function resetTiles(coord:Coordinate, point:Point):void 888 866 { 889 //trace("resetTiles", coord, point);890 891 867 var sc:Number = Math.pow(2, coord.zoom); 892 868 893 869 worldMatrix.identity(); 894 //worldMatrix.translate( -mapWidth/2, -mapHeight/2 );895 870 worldMatrix.scale(sc, sc); 896 871 worldMatrix.translate(mapWidth/2, mapHeight/2 ); … … 898 873 worldMatrix.translate(-provider.tileWidth*coord.column, -provider.tileHeight*coord.row); 899 874 875 // reset the inverted matrix, request a redraw, etc. 900 876 dirty = true; 901 // reset the worldMatrix902 //calculateMatrix();903 877 } 904 878 … … 1029 1003 minTy = tl.row * provider.tileHeight; 1030 1004 maxTy = br.row * provider.tileHeight; 1031 1032 //trace("bounds of useful map area: ", minTx, maxTx, minTy, maxTy);1033 1005 } 1034 1006 … … 1057 1029 1058 1030 if (rightX-leftX > maxTx-minTx) { 1059 //trace("CENTERING X");1060 //_panX = -(minTx+maxTx)/2;1061 1031 worldMatrix.tx = (mapWidth-(minTx+maxTx)*scale)/2; 1062 1032 touched = true; 1063 1033 } 1064 1034 else if (leftX < minTx) { 1065 //trace("TOO LEFT");1066 //_panX += leftX-minTx;1067 1035 worldMatrix.tx += (leftX-minTx)*scale; 1068 1036 touched = true; 1069 1037 } 1070 1038 else if (rightX > maxTx) { 1071 //trace("TOO RIGHT");1072 //_panX += rightX-maxTx;1073 1039 worldMatrix.tx += (rightX-maxTx)*scale; 1074 1040 touched = true; … … 1079 1045 1080 1046 if (downY-upY > maxTy-minTy) { 1081 //trace("CENTERING Y");1082 //_panY = -(minTy+maxTy)/2;1083 1047 worldMatrix.ty = (mapHeight-(minTy+maxTy)*scale)/2; 1084 1048 touched = true; 1085 1049 } 1086 1050 else if (upY < minTy) { 1087 //trace("TOO HIGH");1088 //_panY += upY-minTy;1089 1051 worldMatrix.ty += (upY-minTy)*scale; 1090 1052 touched = true; 1091 1053 } 1092 1054 else if (downY > maxTy) { 1093 //trace("TOO LOW");1094 //_panY += downY-maxTy;1095 1055 worldMatrix.ty += (downY-maxTy)*scale; 1096 1056 touched = true; … … 1102 1062 _bottomRightCoordinate = null; 1103 1063 } 1104 1105 //trace("bounds of visible map area: ", leftX, rightX, upY, downY);1106 1064 1107 1065 return touched; … … 1196 1154 } 1197 1155 1198 branches/tom-tweenlite/lib/com/modestmaps/Map.as
r599 r600 32 32 import com.modestmaps.mapproviders.IMapProvider; 33 33 import com.modestmaps.mapproviders.microsoft.MicrosoftProvider; 34 import com.stamen.twisted.Reactor;35 34 36 35 import flash.display.DisplayObject; … … 42 41 import flash.geom.Point; 43 42 import flash.geom.Rectangle; 43 import flash.utils.clearTimeout; 44 import flash.utils.setTimeout; 44 45 45 46 [Event(name="startZooming", type="com.modestmaps.events.MapEvent")] … … 94 95 public function Map(width:Number=320, height:Number=240, draggable:Boolean=true, mapProvider:IMapProvider=null, ... rest) 95 96 { 96 if (!Reactor.running())97 {98 // should this really be fatal?99 //trace('com.modestmaps.Map.init(): com.stamen.Twisted.Reactor ought to be running at this point.');100 Reactor.run(this, 100);101 }102 103 97 if (!mapProvider) mapProvider = new MicrosoftProvider(MicrosoftProvider.ROAD); 104 98 … … 185 179 grid.resetTiles(position.coord, position.point); 186 180 onExtentChanged(this.getExtent()); 187 Reactor.callNextFrame(callCopyright);181 requestCopyrightUpdate(); 188 182 } 189 183 … … 211 205 grid.resetTiles(center.coord, center.point); 212 206 onExtentChanged(this.getExtent()); 213 Reactor.callNextFrame(callCopyright);207 requestCopyrightUpdate(); 214 208 } 215 209 } … … 236 230 grid.resetTiles(center.coord, center.point); 237 231 onExtentChanged(this.getExtent()); 238 Reactor.callNextFrame(callCopyright);232 requestCopyrightUpdate(); 239 233 } 240 234 } … … 307 301 var centerCoord:Coordinate = (new Coordinate(centerRow, centerColumn, centerZoom)).zoomTo(initZoom); 308 302 309 trace("centering on", centerCoord);310 311 303 return coordinatePosition(centerCoord); 312 304 } … … 467 459 } 468 460 469 Reactor.callLater(1000,callCopyright);461 requestCopyrightUpdate(); 470 462 } 471 463 … … 615 607 grid.resetTiles(center.coord, center.point); 616 608 onExtentChanged(this.getExtent()); 617 Reactor.callNextFrame(callCopyright);609 requestCopyrightUpdate(); 618 610 } 619 611 … … 679 671 } 680 672 673 protected var copyrightTimeout:uint; 674 675 protected function requestCopyrightUpdate():void 676 { 677 if (copyrightTimeout) { 678 clearTimeout(copyrightTimeout); 679 } 680 copyrightTimeout = setTimeout(callCopyright, 250); 681 } 682 681 683 /** 682 684 * Call javascript:modestMaps.copyright() with details about current view. … … 685 687 protected function callCopyright():void 686 688 { 689 if (copyrightTimeout) { 690 clearTimeout(copyrightTimeout); 691 } 692 687 693 var cenP:Point = new Point(mapWidth/2, mapHeight/2); 688 694 var minP:Point = new Point(mapWidth/5, mapHeight/5);
