整个世界的最大界限是多少? - 传单

时间:2018-01-25 12:40:11

标签: javascript leaflet mapbox

我正在尝试使用leaflet.js设置整个世界的界限:

  leafletMap.setMaxBounds([
      [?, ?],
      [?, ?]
  ]);

我必须使用哪些值来设置整个世界的界限,以便它不会显示多个相同的国家/地区?

3 个答案:

答案 0 :(得分:5)

假设你的意思是你不想展示多个世界,而不是想要展示多个世界

将maxBounds设置为min和max lat / long会使你滚动地图时它会反弹

leafletMap.setMaxBounds([[-90,-180],[90,180]])

你也可以在添加一个摆脱重复地图的tileLayer时将noWrap设置为true

NOWRAP:真

答案 1 :(得分:0)

您还可以设置一个选项来重复“原始世界”而不是复制

worldCopyJump: true

这是leafletjs的文档:

  

启用此选项后,地图将在您平移到另一幅“副本”时进行跟踪,并无缝跳转到原始副本,因此所有叠加层(如标记和矢量层)仍然可见。

这可能对您有所帮助。

答案 2 :(得分:0)

要仅使世界显示一次,请将tileLayer的noWrap属性设置为 真正 https://leafletjs.com/reference-1.5.0.html#gridlayer-nowrap

传单包含一种使整个世界变得健康的便捷方法: map.fitWorld(); https://leafletjs.com/reference-1.5.0.html#map-fitworld

<body>
  <div id="map"></div>
  <script>
    var map = L.map('map', {
      center: [35.9602, -99.2285],
      zoom: 4
    });

    L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
      attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors',
      noWrap: true
    }).addTo(map);
    map.fitWorld();
  </script>