You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.4 KiB
41 lines
1.4 KiB
(function (factory, window) { |
|
// define an AMD module that relies on 'leaflet' |
|
if (typeof define === 'function' && define.amd) { |
|
define(['leaflet'], factory); |
|
|
|
// define a Common JS module that relies on 'leaflet' |
|
} else if (typeof exports === 'object') { |
|
module.exports = factory(require('leaflet')); |
|
} |
|
|
|
// attach your plugin to the global 'L' variable |
|
if (typeof window !== 'undefined' && window.L && !window.L.EdgeBuffer) { |
|
factory(window.L); |
|
} |
|
}(function (L) { |
|
L.EdgeBuffer = { |
|
previousMethods: { |
|
getTiledPixelBounds: L.GridLayer.prototype._getTiledPixelBounds |
|
} |
|
}; |
|
|
|
L.GridLayer.include({ |
|
|
|
_getTiledPixelBounds : function(center, zoom, tileZoom) { |
|
var pixelBounds = L.EdgeBuffer.previousMethods.getTiledPixelBounds.call(this, center, zoom, tileZoom); |
|
|
|
// Default is to buffer one tiles beyond the pixel bounds (edgeBufferTiles = 1). |
|
var edgeBufferTiles = 1; |
|
if ((this.options.edgeBufferTiles !== undefined) && (this.options.edgeBufferTiles !== null)) { |
|
edgeBufferTiles = this.options.edgeBufferTiles; |
|
} |
|
|
|
if (edgeBufferTiles > 0) { |
|
var pixelEdgeBuffer = L.GridLayer.prototype.getTileSize.call(this).multiplyBy(edgeBufferTiles); |
|
pixelBounds = new L.Bounds(pixelBounds.min.subtract(pixelEdgeBuffer), pixelBounds.max.add(pixelEdgeBuffer)); |
|
} |
|
return pixelBounds; |
|
} |
|
}); |
|
|
|
}, window));
|
|
|