在实际项目中,好多地图不需要从第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
- }));