使用产品: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();
}
我想要达到的效果是最小只缩放到中国版图那么大。