@@ -26,17 +26,6 @@ OpenLayers.Control.ExportMap = OpenLayers.Class(OpenLayers.Control, {
2626 this . canvasComponents = [ ] ;
2727 this . tileData = { } ;
2828
29- // Create this function so we can use it later on
30- Object . size = function ( object ) {
31- var size = 0 ;
32- for ( var key in object ) {
33- if ( object . hasOwnProperty ( key ) ) {
34- size ++ ;
35- }
36- }
37- return size ;
38- } ;
39-
4029 this . map . layers . forEach ( function ( layer ) {
4130 if ( layer . visibility ) {
4231 if ( layer instanceof OpenLayers . Layer . Vector ) {
@@ -58,7 +47,7 @@ OpenLayers.Control.ExportMap = OpenLayers.Class(OpenLayers.Control, {
5847 * @returns {undefined }
5948 */
6049 setUpCanvas : function ( canvas ) {
61- if ( canvas === undefined ) {
50+ if ( ! canvas ) {
6251 this . canvas = document . createElement ( 'canvas' ) ;
6352 } else {
6453 this . canvas = canvas ;
@@ -144,16 +133,16 @@ OpenLayers.Control.ExportMap = OpenLayers.Class(OpenLayers.Control, {
144133 // Add the tile to the front of the array
145134 canvasComponents . unshift ( this ) ;
146135 // Check to see if we have finished loading all the images
147- if ( canvasComponents . length >= Object . size ( that . tileData ) ) {
148- for ( var i in canvasComponents ) {
149- var canvasComponent = canvasComponents [ i ] ;
136+ if ( canvasComponents . length >= Object . keys ( that . tileData ) . length ) {
137+ canvasComponents . forEach ( function ( canvasComponent ) {
150138 if ( canvasComponent . toString ( ) . indexOf ( 'HTMLCanvasElement' ) > - 1 ) {
151139 that . drawCanvasComponent ( canvasComponent , 0 , 0 ) ;
152- } else {
153- var pos = that . tileData [ canvasComponent . src ] ;
154- that . drawCanvasComponent ( canvasComponent , pos . x , pos . y ) ;
140+ return true ;
155141 }
156- }
142+
143+ var pos = that . tileData [ canvasComponent . src ] ;
144+ that . drawCanvasComponent ( canvasComponent , pos . x , pos . y ) ;
145+ } ) ;
157146 }
158147 } ;
159148 image . src = url ;
0 commit comments