reactjs 每当标记更新时,停止贴图以更改其方向

5sxhfpxr  于 2023-05-28  发布在  React
关注(0)|答案(1)|浏览(114)

下面是我的react-leaflet简单Map的代码,我已经给出了center和zoom值

<Map
  center={[-30.036294, 20.71996]}
  zoom={5.8}>
  {markers.map(m => {
      return <Marker position={[m.latitude, m.longitude]} />
  })}
</Map>

每当我试图更新标记Map的位置移动它的方向,我明白,marker是一个状态,当我更新状态Map应该重新渲染,但它甚至不会去中心位置,它只是随机改变位置。我想做的是我不希望Map改变它的方向,每当我更新标记。我用react-leaflet: v2.4.0

7lrncoxx

7lrncoxx1#

我猜,根据传单的文档,在不了解更多代码的情况下,标记在Map上移动时会被聚焦。传单中标记的API有一个选项autoPanOnFocus,默认设置为true。标记组件上似乎没有此选项。您可以尝试使用标记构造函数手动添加标记,并使用useMap钩子将其添加到Map中。另一种方法可以是在更新标记位置时一起禁用平移。
侧记:根据经验,我知道Map组件的中心位置只是传单的起点。之后的任何更改都不会使Map保持在中心。禁用平移可以解决这个问题。

相关问题