在实际项目中,好多地图不需要从第0级开始缩放,因为第0级地图太小了,没有实际意义。那么就需要设置从中间某个级别开始缩放。该如何做呢。由于openlayrs2中没有直接属性进行控制,也因此需要自己注册事件通过监听事件来控制地图的最小缩放级别。对于openlayers3来说,直接通过view的属性进行控制即可。
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 }));