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

时间:2015-11-10 14:42:20

标签: javascript leaflet

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

UPD:我的目标是在每个世界重复标记,如下图所示。 我调查过continuousWorldworldcopyjump不适合这种情况。这样可以使传单在图片上工作吗? enter image description here

2 个答案:

答案 0 :(得分:5)

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

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

话虽这么说,这可能只是你目标的一个可能的解决方案,你还没有真正解释过?

如果您想避免用户看到空白的世界,也许您可​​能根本无法显示世界的相邻副本。您可以通过多种方式实现这一目标,并且可以将它们结合使用:

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

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

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

答案 1 :(得分:2)

当使用连续世界并希望标记出现在其他"副本"你应该将该标记的坐标设置为该世界"的坐标。

只有"中心"世界的坐标范围为-180到180和-90到90

因此,对于世界来说,正确的经度将从180开始,因为世界-180。 与其他方面相似。

基本上你可以为每个"复制"添加一个经度增加/减少360度的新标记。