@@ -43,7 +43,7 @@ class TileLayerCanvasRenderer extends CanvasRenderer {
43
43
}
44
44
const mask2DExtent = this . prepareCanvas ( ) ;
45
45
if ( mask2DExtent ) {
46
- if ( ! mask2DExtent . intersects ( this . _extent2D ) ) {
46
+ if ( ! mask2DExtent . intersects ( this . canvasExtent2D ) ) {
47
47
this . completeRender ( ) ;
48
48
return ;
49
49
}
@@ -55,7 +55,7 @@ class TileLayerCanvasRenderer extends CanvasRenderer {
55
55
return ;
56
56
}
57
57
58
- this . _tileCountToLoad = 0 ;
58
+ let loadingCount = 0 ;
59
59
let loading = false ;
60
60
const checkedTiles = { } ;
61
61
const tiles = [ ] ,
@@ -64,8 +64,8 @@ class TileLayerCanvasRenderer extends CanvasRenderer {
64
64
placeholders = [ ] , placeholderKeys = { } ;
65
65
//visit all the tiles
66
66
const tileQueue = { } ;
67
- const loadingCount = this . _markTiles ( ) ,
68
- tileLimit = this . _getTileLimitOnInteracting ( ) ;
67
+ const preLoadingCount = this . _markTiles ( ) ,
68
+ loadingLimit = this . _getLoadLimit ( ) ;
69
69
70
70
const l = tileGrids . length ;
71
71
@@ -84,24 +84,24 @@ class TileLayerCanvasRenderer extends CanvasRenderer {
84
84
tileId = tile [ 'id' ] ;
85
85
//load tile in cache at first if it has.
86
86
const cached = this . _getCachedTile ( tileId ) ;
87
- let tileIsLoading = false ;
87
+ let tileLoading = false ;
88
88
if ( this . _isLoadingTile ( tileId ) ) {
89
- tileIsLoading = loading = true ;
89
+ tileLoading = loading = true ;
90
90
this . tilesLoading [ tileId ] . current = true ;
91
91
} else if ( cached ) {
92
92
if ( this . getTileOpacity ( cached . image ) < 1 ) {
93
- tileIsLoading = loading = true ;
93
+ tileLoading = loading = true ;
94
94
}
95
95
tiles . push ( cached ) ;
96
96
} else {
97
- tileIsLoading = loading = true ;
98
- const hitLimit = tileLimit && ( this . _tileCountToLoad + loadingCount [ 0 ] ) > tileLimit ;
97
+ tileLoading = loading = true ;
98
+ const hitLimit = loadingLimit && ( loadingCount + preLoadingCount [ 0 ] ) > loadingLimit ;
99
99
if ( ! hitLimit && ( ! map . isInteracting ( ) || ( map . isMoving ( ) || map . isRotating ( ) ) ) ) {
100
- this . _tileCountToLoad ++ ;
100
+ loadingCount ++ ;
101
101
tileQueue [ tileId + '@' + tile [ 'point' ] . toArray ( ) . join ( ) ] = tile ;
102
102
}
103
103
}
104
- if ( ! tileIsLoading ) continue ;
104
+ if ( ! tileLoading ) continue ;
105
105
if ( checkedTiles [ tile . dupKey ] ) {
106
106
continue ;
107
107
}
@@ -143,7 +143,7 @@ class TileLayerCanvasRenderer extends CanvasRenderer {
143
143
}
144
144
145
145
this . _drawTiles ( tiles , parentTiles , childTiles , placeholders ) ;
146
- if ( this . _tileCountToLoad === 0 ) {
146
+ if ( ! loadingCount ) {
147
147
if ( ! loading ) {
148
148
//redraw to remove parent tiles if any left in last paint
149
149
if ( ! map . isAnimating ( ) && this . _parentTiles . length > 0 ) {
@@ -164,19 +164,13 @@ class TileLayerCanvasRenderer extends CanvasRenderer {
164
164
}
165
165
166
166
_drawTiles ( tiles , parentTiles , childTiles , placeholders ) {
167
- if ( parentTiles . length > 0 ) {
168
- this . _parentTiles = [ ] ;
167
+ if ( parentTiles . length ) {
169
168
//closer the latter (to draw on top)
170
169
parentTiles . sort ( ( t1 , t2 ) => Math . abs ( t2 . info . z - this . _tileZoom ) - Math . abs ( t1 . info . z - this . _tileZoom ) ) ;
171
- parentTiles . forEach ( t => {
172
- this . _parentTiles . push ( t ) ;
173
- } ) ;
170
+ this . _parentTiles = parentTiles ;
174
171
}
175
- if ( childTiles . length > 0 ) {
176
- this . _childTiles = [ ] ;
177
- childTiles . forEach ( t => {
178
- this . _childTiles . push ( t ) ;
179
- } ) ;
172
+ if ( childTiles . length ) {
173
+ this . _childTiles = childTiles ;
180
174
}
181
175
182
176
const context = { tiles, parentTiles, childTiles } ;
@@ -275,7 +269,7 @@ class TileLayerCanvasRenderer extends CanvasRenderer {
275
269
}
276
270
277
271
// limit tile number to load when map is interacting
278
- _getTileLimitOnInteracting ( ) {
272
+ _getLoadLimit ( ) {
279
273
if ( this . getMap ( ) . isInteracting ( ) ) {
280
274
return this . layer . options [ 'loadingLimitOnInteracting' ] ;
281
275
}
@@ -374,7 +368,7 @@ class TileLayerCanvasRenderer extends CanvasRenderer {
374
368
return loadImage ( tileImage , [ url ] ) ;
375
369
}
376
370
377
- cancelTileLoading ( tileImage ) {
371
+ abortTileLoading ( tileImage ) {
378
372
if ( ! tileImage ) return ;
379
373
tileImage . onload = falseFn ;
380
374
tileImage . onerror = falseFn ;
@@ -412,7 +406,7 @@ class TileLayerCanvasRenderer extends CanvasRenderer {
412
406
return ;
413
407
}
414
408
if ( tileImage instanceof Image ) {
415
- this . cancelTileLoading ( tileImage ) ;
409
+ this . abortTileLoading ( tileImage ) ;
416
410
}
417
411
tileImage . loadTime = 0 ;
418
412
delete this . tilesLoading [ tileInfo [ 'id' ] ] ;
@@ -570,7 +564,7 @@ class TileLayerCanvasRenderer extends CanvasRenderer {
570
564
const tilesLoading = this . tilesLoading ;
571
565
if ( tilesLoading && tilesLoading [ tileId ] ) {
572
566
tilesLoading [ tileId ] . current = false ;
573
- this . cancelTileLoading ( tilesLoading [ tileId ] ) ;
567
+ this . abortTileLoading ( tilesLoading [ tileId ] ) ;
574
568
delete tilesLoading [ tileId ] ;
575
569
}
576
570
} else {
@@ -625,7 +619,7 @@ class TileLayerCanvasRenderer extends CanvasRenderer {
625
619
if ( force || ! tile . current ) {
626
620
// abort loading tiles
627
621
if ( tile . image ) {
628
- this . cancelTileLoading ( tile . image ) ;
622
+ this . abortTileLoading ( tile . image ) ;
629
623
}
630
624
this . deleteTile ( tile ) ;
631
625
delete this . tilesLoading [ i ] ;
0 commit comments