我正在尝试使用leaflet.js设置整个世界的界限:
leafletMap.setMaxBounds([
[?, ?],
[?, ?]
]);
我必须使用哪些值来设置整个世界的界限,以便它不会显示多个相同的国家/地区?
答案 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: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors',
noWrap: true
}).addTo(map);
map.fitWorld();
</script>