首页 / 浏览问题 / 其他 / 问题详情
地图服务map-china400的china地图如何限制最大缩放比例
2EXP 2020年06月18日

使用产品:iserver 9d 操作系统:win7 x64  

问题详述:iserver地图服务 map-china400的china地图如何限制最大缩放比例,使用map.minScale不起作用,滑动鼠标滚轮地图依然会超过设定的最小比例,请问是什么原因?

修改的代码如下

// http://supermap-iserver:8090/iserver/services/map-china400/rest/maps/China.ijs Line474
       function addlayer() {
			map.addLayers([layer, lineLayer, polygonLayer]);
			var lonlat = layer.maxExtent.getCenterLonLat();
			lon = lonlat.lon;
			lat = lonlat.lat;
            map.events.on({"move": moveHandler});
			map.events.on({"moveend": moveEndHandler});
			map.events.on({"zoomend": function(){setUTFGridLayerVisible();}});
			// 在脚步端 支持地图表述带#后面的参数解析,参数结构:比例尺/x(lon)/y(lat)
                        map.minScale = 0.00000002704261714564; // 添加
			if(scaleCenter){
				initZoomToScale = scaleCenter.substring(0,scaleCenter.indexOf('/'));
				scaleCenter = scaleCenter.substring(scaleCenter.indexOf('/')+1);
				lon = scaleCenter.substring(0,scaleCenter.indexOf('/'));
				lat = scaleCenter.substring(scaleCenter.lastIndexOf('/')+1);
			}

			map.setCenter(new SuperMap.LonLat(lon, lat));

				var defScale = 0.00000002704261714564;// 给客户端传递默认比例尺,已修改
        		map.zoomToScale(defScale,true);
            if(initZoomToScale!=0 && initZoomToScale>defScale){ //已修改
               map.zoomToScale(initZoomToScale,true);
            }
            setDefaultUTFGridLayer();
            refreshUTFGridLayer();
		}

       我想要达到的效果是最小只缩放到中国版图那么大。

1个回答

您好,可以控制zoom级别来达到效果  map = new SuperMap.Map("map", {
        controls: [
            new SuperMap.Control.Navigation(),
            new SuperMap.Control.Zoom()],
            minZoom:1,//设置最小缩放级别
            maxZoom:3//设置最大缩放级别
    });
3,352EXP 2020年06月19日
...