我想显示一个世界地图并将其环绕,以便每个区域仅在屏幕上显示一次。请参阅小提琴http://jsfiddle.net/8m13d6vs/
var osmUrl = 'http://{s}.tile.osm.org/{z}/{x}/{y}.png',
osm = L.tileLayer(osmUrl, {
noWrap: false,
attribution: "<a href='http://openstreetmap.org'>OpenStreetMap</a>"
});
var map = L.map('map').setView([0, 0], 1).addLayer(osm);
在上面的小提琴中,换行,但世界地图是重复的。我想要一个单独的世界地图,并且在左/右鼠标拖动时,它应该环绕。它也应该响应该地区。有没有办法实现这个目标?希望我的问题陈述是可以理解的。
答案 0 :(得分:0)
这听起来像是对#34; wrap &#34;的定义的误解:
在Leaflet的Tile Layer / Grid Layer选项noWrap
的上下文中,它说:
该层是否缠绕在antimeridian周围。如果
true
,GridLayer只会以低缩放级别显示一次。
所以听起来简单noWrap: true
应该达到你的目标。
更新了JSFiddle:http://jsfiddle.net/8m13d6vs/3/
(顺便说一句,你应该考虑将Leaflet版本升级到1+,当前最新版本为1.3.1)
答案 1 :(得分:0)
有一个传单地图选项&#34; worldCopyJump&#34;接受布尔值。
var map = L.map('map', {worldCopyJump: true}).setView([0, 0], 1).addLayer(osm);
默认值为false,但将此设置为true将在用户平移超出地图边界时复制地图的内容。 (Leaflet Documentation for worldCopyJump)