Map FalizeJS setMaxBounds不允许缩小以查看整个世界

Map FalizeJS setMaxBounds不允许缩小以查看整个世界,map,leaflet,cloudmade,Map,Leaflet,Cloudmade,我正在使用传单js显示使用CloudMake瓷砖的世界地图。当我将maxbounds设置到地图上时,除了北面以外,边界都很有效。然而,这并不是我最大的担忧。我担心的是,由于我使用的是maxBounds,所以我无法缩小到任何屏幕大小来查看整个世界 我使用的边界从加拿大东北角一直延伸到澳大利亚西南部。我可以平移到边界,但不能缩小到看到整个地图。我将minZoom设置为0。如果没有maxBound,它被放大得太远了,你可以在大屏幕上看到世界重复三次 map = L.map('canvas',{zoom

我正在使用传单js显示使用CloudMake瓷砖的世界地图。当我
将maxbounds
设置到地图上时,除了北面以外,边界都很有效。然而,这并不是我最大的担忧。我担心的是,由于我使用的是
maxBounds
,所以我无法缩小到任何屏幕大小来查看整个世界

我使用的边界从加拿大东北角一直延伸到澳大利亚西南部。我可以平移到边界,但不能缩小到看到整个地图。我将
minZoom
设置为0。如果没有maxBound,它被放大得太远了,你可以在大屏幕上看到世界重复三次

map = L.map('canvas',{zoomControl: false}).setView([38.82259, -2.8125], 0);
map.setMaxBounds([[84.67351256610522, -174.0234375], [-58.995311187950925, 223.2421875]]);
任何帮助都是值得的。
Anil

如果我理解正确,您的问题是您希望能够在视图中看到整个世界,但您希望能够限制用户看到环绕的瓷砖

首先,传单正是你们告诉它要做的事情。查看我用代码创建的这个JSFIDLE。我可以缩小以查看整个世界,但前提是我将结果窗格调整为足够大以显示整个世界,而不违反maxBounds规则。对我来说,这似乎是正确的行为

第二,如果您确实不希望世界被包裹,您还可以在创建层时将
noWrap
选项设置为
true

var osmLayer = new L.TileLayer("http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", { noWrap: true}).addTo(map);

这将防止该层环绕地图。如果这种包装是您首先创建边界的原因,那么删除包装可能会消除您设置
maxBounds
的需要。然后,地图将可以自由平移和缩放。

非常感谢@patrick-d
noWrap
是我一直在寻找的。仍然在使用
setMaxBound
时,如果看到创建的JSFIDLE,可以看到地图没有显示整个世界(无法进一步缩小),尽管可以平移到边界,但可以在不同的窗口大小上尝试。只有@950px*550px,地图不会被裁剪。我真的很喜欢
setMaxBound
,但为此,我认为我应该有一个大于950px*550px的容器,如果我必须变大的话,这个比例应该是相同的。向北平移,不受边界限制,我认为这是传单中的一个错误,不是吗?地图没有显示整个世界,因为JSFIDLE中结果的初始比率不是“整个世界”显示的比率。在这种情况下,进一步缩小会违反您的
maxBounds
限制,所以传单不会让您进一步缩小。向北平移,我不确定。它适用于南方。这可能是一个bug。好吧,让我们具体一点。我有500像素宽的画布。现在我通过
setMaxBound
得到的是整个地图的1/4,我可以向各个方向平移。这个比率在这里似乎没有任何作用。但当我不设置maxbound时,它可以缩小,这样我就可以看到整个地图,就像这里一样