Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maps 传单.js:设置每层的最大缩放级别?_Maps_Leaflet_Cartodb - Fatal编程技术网

Maps 传单.js:设置每层的最大缩放级别?

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/{

我使用的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/{z}/{x}/{y}.png', {
     attribution: '&copy; <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。