Ticket #442: final_animatedZooming_LayerImage.patch
| File final_animatedZooming_LayerImage.patch, 5.4 kB (added by emanuel, 3 years ago) |
|---|
-
tests/Layer/test_Image.html
old new 38 38 t.ok( layer.options instanceof Object, "layer.options correctly initialized as a non-null Object" ); 39 39 } 40 40 41 function test_ 50_Layer_Image_tileTests (t) {41 function test_02_Layer_Image_tileTests (t) { 42 42 t.plan(4); 43 43 var map = new OpenLayers.Map('map'); 44 44 … … 65 65 */ 66 66 67 67 68 /*** animated zooming test functions ***/ 69 function test_03_Layer_Image_getTileSize (t) { 70 t.plan(2); 71 72 map = new OpenLayers.Map('map'); 73 layer = new OpenLayers.Layer.Image('Test Layer', 74 'http://earthtrends.wri.org/images/maps/4_m_citylights_lg.gif', 75 new OpenLayers.Bounds(-180, -88.759, 180, 88.759), 76 new OpenLayers.Size(580, 288)); 77 map.addLayer(layer); 78 map.setCenter(new OpenLayers.LonLat(0,0)); 79 80 var size = map.baseLayer.getTileSize(); 81 t.eq(size.w, 580, "tile width is correct"); 82 t.eq(size.h, 288, "tile height is correct"); 83 } 84 function test_04_Layer_Image_getCenterTile (t) { 85 t.plan(1); 86 87 map = new OpenLayers.Map('map'); 88 layer = new OpenLayers.Layer.Image('Test Layer', 89 'http://earthtrends.wri.org/images/maps/4_m_citylights_lg.gif', 90 new OpenLayers.Bounds(-180, -88.759, 180, 88.759), 91 new OpenLayers.Size(580, 288)); 92 map.addLayer(layer); 93 map.setCenter(new OpenLayers.LonLat(0,0)); 94 95 tile = map.baseLayer.getCenterTile(); 96 t.ok(map.baseLayer.tile == tile, 97 "center tile has been set correctly" ); 98 } 99 function test_05_Layer_Image_cloneBaseLayerDiv (t) { 100 t.plan(3); 101 102 map = new OpenLayers.Map('map'); 103 layer = new OpenLayers.Layer.Image('Test Layer', 104 'http://earthtrends.wri.org/images/maps/4_m_citylights_lg.gif', 105 new OpenLayers.Bounds(-180, -88.759, 180, 88.759), 106 new OpenLayers.Size(580, 288)); 107 map.addLayer(layer); 108 109 map.baseLayer.cloneBaseLayerDiv(); 110 var cloneDiv = map.baseLayerDivClone; 111 var originDiv = map.baseLayer.div; 112 t.ok( cloneDiv instanceof HTMLDivElement, 113 "cloned baseLayerDiv is a valid HTMLDivElement"); 114 t.eq( cloneDiv.childNodes.length, originDiv.childNodes.length, 115 "cloned baseLayerDiv has the same number of childs"); 116 t.eq( parseInt(cloneDiv.style.zIndex)+1, parseInt(originDiv.style.zIndex), 117 "zIndex has been set correctly"); 118 } 119 120 68 121 function test_99_Layer_Image_destroy (t) { 69 122 t.plan( 4 ); 70 123 71 124 var map = new OpenLayers.Map('map'); 72 125 73 126 layer = new OpenLayers.Layer.Image('Test Layer', 74 'http://earthtrends.wri.org/images/maps/4_m_citylights_lg.gif',75 new OpenLayers.Bounds(-180, -88.759, 180, 88.759),76 new OpenLayers.Size(580, 288));127 'http://earthtrends.wri.org/images/maps/4_m_citylights_lg.gif', 128 new OpenLayers.Bounds(-180, -88.759, 180, 88.759), 129 new OpenLayers.Size(580, 288)); 77 130 78 131 map.addLayer(layer); 79 132 map.zoomToMaxExtent(); -
lib/OpenLayers/Layer/Image.js
old new 156 156 return this.url; 157 157 }, 158 158 159 160 161 /********************************************************/ 162 /* */ 163 /* Baselayer Functions for zooming/scaling */ 164 /* */ 165 /********************************************************/ 166 167 168 /** 169 * Gets tile (image) size. 170 * 171 * @returns the image size if tile exists; otherwise 172 * null 173 * @type {OpenLayers.Size} 174 */ 175 getTileSize:function() { 176 if (this.tile) 177 return this.tile.size; 178 else 179 return null; 180 }, 181 182 /** 183 * Gets the tile of this image layer. 184 * 185 * @returns the only tile of the layer 186 * @type {OpenLayers.Tile} 187 */ 188 getCenterTile:function() { 189 if (this.tile) 190 return this.tile; 191 else 192 return null; 193 }, 194 195 /** 196 * Clones layerContainer for "smooth tile update". 197 * So, it gets no blank map while map is loading in new zoomlevel. 198 * 199 * @returns true after layerContainer is cloned 200 * @type Boolean 201 */ 202 cloneBaseLayerDiv:function() { 203 // share clone algorithm with other baselayers 204 this.cloneBaseLayerDiv_share(); 205 206 // remove the old imgDiv tile 207 // (so it doesn't becomes complicate with the same imgDiv of the 208 // cloned layerContainerDiv) 209 if (this.tile) 210 this.div.removeChild(this.tile.imgDiv); 211 212 this.tile = null; 213 214 return true; 215 }, 216 159 217 /** @final @type String */ 160 218 CLASS_NAME: "OpenLayers.Layer.Image" 161 219 });
