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.
42 lines
1.4 KiB
42 lines
1.4 KiB
2 years ago
|
(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));
|