openlayers中需要注册缩放事件来解决,在该事件中监听缩放后地图的级别,当地图级别小于设定的最小级别时放大地图来解决。代码为:
//设置地图最小缩放级别为17级
map.events.register("zoomend", this, function (e) {
if (map.getZoom() < 17)
{
//map.zoomTo(17);
map.setCenter(map.getCenter(),17);
}
});
openlayers3中,直接通过view的minZoom和maxZoom属性来控制即可。
map.setView(new ol.View({
extent: mapExtent,
projection: this.projection,
zoom: 18,
minZoom: 16,
maxZoom: 23
}));