Fire 'zoomlevelschange' when calling setMinZoom & setMaxZoom. (#5230)
* Fire 'zoomlevelschange' when calling setMinZoom & setMaxZoom. * rename variables * make sure 'zoomlevelschange' won't be fired unnecessarily * fix enabling zoom control after changing zoom levels * always fire `zoomlevelschange` if minZoom/maxZoom changed * remove trailing spaces
This commit is contained in:
parent
000f457fcb
commit
d2f6a6cdcd
@ -463,11 +463,16 @@ export var Map = Evented.extend({
|
||||
// @method setMinZoom(zoom: Number): this
|
||||
// Sets the lower limit for the available zoom levels (see the [minZoom](#map-minzoom) option).
|
||||
setMinZoom: function (zoom) {
|
||||
var oldZoom = this.options.minZoom;
|
||||
this.options.minZoom = zoom;
|
||||
|
||||
if (this._loaded && this.getZoom() < this.options.minZoom) {
|
||||
if (this._loaded && oldZoom !== zoom) {
|
||||
this.fire('zoomlevelschange');
|
||||
|
||||
if (this.getZoom() < this.options.minZoom) {
|
||||
return this.setZoom(zoom);
|
||||
}
|
||||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
@ -475,11 +480,16 @@ export var Map = Evented.extend({
|
||||
// @method setMaxZoom(zoom: Number): this
|
||||
// Sets the upper limit for the available zoom levels (see the [maxZoom](#map-maxzoom) option).
|
||||
setMaxZoom: function (zoom) {
|
||||
var oldZoom = this.options.maxZoom;
|
||||
this.options.maxZoom = zoom;
|
||||
|
||||
if (this._loaded && (this.getZoom() > this.options.maxZoom)) {
|
||||
if (this._loaded && oldZoom !== zoom) {
|
||||
this.fire('zoomlevelschange');
|
||||
|
||||
if (this.getZoom() > this.options.maxZoom) {
|
||||
return this.setZoom(zoom);
|
||||
}
|
||||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user