如何通过传单地图的“边缘”绘制路径?

时间:2019-09-04 06:08:57

标签: javascript leaflet react-leaflet

在低缩放级别下,Leaflet“包装”基础图块层的多个副本,但不是我在其顶部绘制(在窗格中)的折线。这使第180条子午线附近的绘制路径在整个地图上跳转:

(从默认“复制”的任一边缘截屏,红线表示〜180子午线)

East edge of map showing half a path and a horizontal line firing off to the West

West edge of map showing half a path and a horizontal line coming from the East

我想要得到的东西:

Single seamless path, half on either side of the 180th meridian

Codepen显示问题,以及强制性的源代码:

const MyMap = ({lines}) => (
  <LeafletMap center={[0, 0]} zoom={1}>
    <TileLayer
      attribution="&copy; <a href=&quot;http://osm.org/copyright&quot;>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条子午线的另一侧的点之间绘制折线,而又不跨越地图的整个宽度?

编辑:

我可以跳过在任一侧的两个点之间绘制线(删除丑陋的水平线),但这仍然使我在地图的相对两端留有一半的折线。我需要将整个折线放在一个地方。

0 个答案:

没有答案