我正在使用 Leaflet 1.0.0-rc.2+e02b5c9。我知道默认是渲染所有标记,多段线......从经度 -180 到 180 作为屏幕截图:
但是,我想将 map 显示为我此时要显示的经度(这是日本和美国之间的中海):
但是您看到所有标记都没有在右侧呈现。即使,如果我设置
worldCopyJump: true
当我向右拖动时,所有标记都出现在右侧,但它们在左侧消失,反之亦然。实际上,我希望它们同时出现。
有什么解决办法吗??
最佳答案
只需确保标记的经度在 0..360
范围内,而不是在 -180..180
范围内。 See a working example .
即而不是
L.marker([0,170]).addTo(map);
L.marker([0,-180]).addTo(map);
L.marker([0,-170]).addTo(map);
做类似的事情
L.marker([0,170]).addTo(map);
L.marker([0,180]).addTo(map);
L.marker([0,190]).addTo(map);
换句话说,如果经度小于零,则加上 360。如果您打算一次过滤所有经度,您可能想要使用 L.Util.wrapNum(lng, [0,360], true)
。
关于javascript - 如何在 180° 子午线附近显示传单标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38820724/