Maps 传单.js:设置每层的最大缩放级别?
我使用的CartoDB.js(3.15.9,基于传单.js)有两个地图基础层,一个来自CartoDB的街道层和一个来自MapQuest的卫星层:Maps 传单.js:设置每层的最大缩放级别?,maps,leaflet,cartodb,Maps,Leaflet,Cartodb,我使用的CartoDB.js(3.15.9,基于传单.js)有两个地图基础层,一个来自CartoDB的街道层和一个来自MapQuest的卫星层: var options = { center: [53.2, -2.0], zoom: 6 }; var map = new L.Map('map', options); var streetLayer = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{
var options = {
center: [53.2, -2.0],
zoom: 6
};
var map = new L.Map('map', options);
var streetLayer = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors</a>'
}).addTo(map);
L.control.layers({
'Map': streetLayer,
'Satellite': MQ.satelliteLayer()
}, null, {'collapsed': false, 'position': 'bottomleft'}).addTo(map);
var选项={
中间:[53.2,-2.0],
缩放:6
};
var map=新的L.map(“map”,选项);
var streetLayer=L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png'{
属性:“©;贡献者”
}).addTo(地图);
控制层({
“地图”:街道图层,
“卫星”:MQ.satelliteLayer()
},null,{'collapsed':false,'position':'bottomleft'});
我可以设置每层最大缩放级别吗?我想在街道层最大缩放18,在卫星层最大缩放21(这是因为他们有不同的最大缩放级别可用)
我尝试在streetLayer
对象上设置maxZoom:18
,但这似乎没有任何作用。options
上的相同选项设置了全局最大缩放,但这显然不是我想要的 如您所知,地图的选项限制了导航(用户不能放大到指定的级别以上)
在平铺层上,该选项定义在地图上更新平铺层的级别。通过该级别后,互动程序层不再更新,即互动程序不再下载和显示
您可能有兴趣将其与以下选项结合使用:
平铺源可用的最大缩放次数。如果已指定,则高于maxNativeZoom
的所有缩放级别上的平铺将从maxNativeZoom
级别加载并自动缩放
例如,对于街道图层,可以将maxNativeZoom
设置为18,将maxZoom
设置为21
现在,如果您希望根据地图当前显示的内容设置不同的导航限制(例如,如果您在图层控件中将两个平铺图层作为底图,这样它们就不会同时显示),您可以使用在用户切换底图时动态更改该限制。谢谢,我最终按照你的建议使用了maxNativeZoom。