使用mapbox禁用世界地图的水平重复

时间:2014-02-24 10:29:04

标签: javascript maps leaflet mapbox

我对JS很新,所以也许我的问题很容易解决,尽管我已经花了很多时间。

我正在使用带有传单api的Mapbox,我想在缩小时禁用重复的水平世界地图。我已经探索了maxBounds属性,但它并不令人满意,因为我想在边界之外隐藏地图。基本上,我想得到这个结果http://jsfiddle.net/zF6bf/但是我想把这张地图存放在mapbox.com上:cartogrph.hbem5mod

此外,我想禁用拖动和缩放处理程序,所以我正在寻找一个与以下内容兼容的解决方案:

// disable drag and zoom handlers
map.dragging.disable();
map.touchZoom.disable();
map.doubleClickZoom.disable();
map.scrollWheelZoom.disable();
// disable tap handler, if present.
if (map.tap) map.tap.disable();

任何人都可以帮助我吗?我真的很棒。

提前致谢, 纳斯

2 个答案:

答案 0 :(得分:6)

请参阅文档:Disable World Wrapping

<script>
var map = L.mapbox.map('map','cartogrph.hbem5mod', {
    // these options apply to the tile layer in the map
    tileLayer: {
        // this map option disables world wrapping. by default, it is false.
        continuousWorld: false,
        // this option disables loading tiles outside of the world bounds.
        noWrap: true
    }
}).setView([38, -102.0], 5);
</script>

答案 1 :(得分:0)

我发现现有答案对我不起作用。但是您可以使用RenderWorldCopies属性来执行此操作。参见Docs

您可以使用构造函数的选项

 new mapboxgl.Map({
            renderWorldCopies: false,
            // your other options....
 })

或使用方法:

map.setRenderWorldCopies(status === 'true');