标记不会出现在 Leaflet 的连续世界中

Markers do not appear on continuous world in Leaflet

当我设置选项 continuousWorld=true 时,标记不会显示在克隆的图块上,只会显示在主世界上。它是设计行为吗?可能是我没有注意到的其他选项来显示这些标记的存在?

UPD: 我的目标是在每个世界上重复标记,如下图所示。 我调查了continuousWorldworldcopyjump不适合这个。那么是否可以使传单像图片上那样工作?

当使用连续世界并希望标记出现在地图的其他 "copies" 上时,您应该将该标记的坐标设置为那个 "world" 的坐标。

只有 "central" 个世界的坐标在 -180 到 180 和 -90 到 90 范围内

所以对于世界来说,正确的经度将从 180 开始,对于那个世界来说,经度是 -180。 其他方面类似。

基本上,您可以为每个 "copy" 添加一个经度 increased/decreased 360 度的新标记。

不幸的是,据我所知,没有自动和开箱即用的解决方案可以复制 Leaflet 世界相邻副本上的所有内容(标记、矢量等)。

Tomislav 提出的最简单的技巧是手动生成内容的额外副本,偏移 360 度经度的倍数。为此,我认为 continuousWorld tileLayer 选项 必须保留在 false。结合 worldCopyJump 地图选项,您可以获得所需的效果,代价是必须多次克隆您的内容。

话虽这么说,这可能只是您的 objective 的一种可能解决方案,您还没有真正明确?

如果你想避免用户看到一个空的世界,也许你可以简单地不显示世界的相邻副本。您有多种方法可以实现这一点,并且可以结合使用它们:

演示:http://jsfiddle.net/ve2huzxw/20/

注意:如果 minZoom 设置得足够高,使用 worldCopyJump map option 会产生与 Google 地图中非常相似的效果,即您认为自己在世界各地滚动并再次找到您的内容。只是您永远没有机会在同一屏幕上两次看到完全相同的位置,并且地图会自动回滚 360 度以保留在内容上。这在 -180 / +180 度经度边界处仍然很明显,因为您在左侧或右侧都有内容,但绝不会同时出现。

演示:http://jsfiddle.net/ve2huzxw/21/