在低缩放级别下,Leaflet“包装”基础图块层的多个副本,但不是我在其顶部绘制(在窗格中)的折线。这使第180条子午线附近的绘制路径在整个地图上跳转:
(从默认“复制”的任一边缘截屏,红线表示〜180子午线)
我想要得到的东西:
Codepen显示问题,以及强制性的源代码:
const MyMap = ({lines}) => (
<LeafletMap center={[0, 0]} zoom={1}>
<TileLayer
attribution="© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors"
url="https://{s}.tile.osm.org/{z}/{x}/{y}.png"
/>
<Pane>
{lines.map((points, i) => (
<Polyline key={i} positions={points} color="blue" weight={4} lineCap="square" />
))}
</Pane>
</LeafletMap>
);
似乎传单选择了一个默认的基础图块的“副本”作为默认值,绑定到-180、180度经度,并且仅在该基础图块的顶部绘制线条/标记等。
如何在第180条子午线的一侧的点到第180条子午线的另一侧的点之间绘制折线,而又不跨越地图的整个宽度?
编辑:
我可以跳过在任一侧的两个点之间绘制线(删除丑陋的水平线),但这仍然使我在地图的相对两端留有一半的折线。我需要将整个折线放在一个地方。