设置最大边界不起作用传单

时间:2019-03-04 17:49:26

标签: javascript html leaflet

我似乎无法设置“最大边界”,因此用户到达特定点后地图会弹回。同样,每当我厌倦了更改fitbounds()代码时,地图就会从我的网站上消失。

我反复运气查看了Leaflet文档,很少运气,并且一直在Google中寻找任何答案,而我尝试过的所有代码都无法正常工作。我相信我缺少或看不到真正简单的东西。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我建议写一个约束函数

function constrain(n,low,high){
    return Math.max(Math.min(n, high), low);
}

*注意:我自己没有想到这一点,它是p5中的一个函数,并认为它可能起作用*

文档:

https://github.com/processing/p5.js/blob/0.7.3/src/math/calculation.js#L76

答案 1 :(得分:1)

如果仅需将视图限制为给定的地理边界,则最简单的解决方案是设置maxBounds选项。除非您想动态地执行此操作,否则在这种情况下使用的选项是setMaxBoundsfitBounds方法似乎是多余的,实际上可能是您未获得理想结果的原因。

var southWest = L.latLng(52.456009,-10.685582);
var northEast = L.latLng(51.699800,5.215615); 

var maxBoundArea = L.latLngBounds(southWest, northEast);

var map = L.map('map', {        
    zoomControl:true, 
    maxNativeZoom:28, 
    minZoom:8, 
    maxBounds: maxBoundArea
});