反应传单更新标记
react leaflet updating markers
你好我是传单新手,我正在用地图组件构建我的应用程序。每次用户执行特定操作(过滤器)时,地图上的标记都应更新。该组件工作正常。然后我决定添加来自原始传单的响应式弹出插件。所以我调整了很多 react leaflet 的正常组件。现在每次我执行新过滤器时,新标记都会成功添加到地图中,但不会删除旧标记。
关于如何解决这个问题的任何帮助?
如果你没有绑定到那个组件(leaflet-responsive-popup)你可以这样解决(首选解决方案):
CodeSandbox without ResponsivePopup
<Marker key={i} position={bus}>
<Popup>
<span>Note<br />{i}</span>
</Popup>
</Marker>
如果您必须使用该组件,则必须将标记存储在数组中并在添加新标记之前清除所有标记,如下所示:
CodeSandbox with ResponsivePopup
问题是您正在添加标记,而从未删除旧标记。您必须传递所有坐标,以便首先删除旧坐标,然后添加新坐标。
你好我是传单新手,我正在用地图组件构建我的应用程序。每次用户执行特定操作(过滤器)时,地图上的标记都应更新。该组件工作正常。然后我决定添加来自原始传单的响应式弹出插件。所以我调整了很多 react leaflet 的正常组件。现在每次我执行新过滤器时,新标记都会成功添加到地图中,但不会删除旧标记。
关于如何解决这个问题的任何帮助?
如果你没有绑定到那个组件(leaflet-responsive-popup)你可以这样解决(首选解决方案): CodeSandbox without ResponsivePopup
<Marker key={i} position={bus}>
<Popup>
<span>Note<br />{i}</span>
</Popup>
</Marker>
如果您必须使用该组件,则必须将标记存储在数组中并在添加新标记之前清除所有标记,如下所示: CodeSandbox with ResponsivePopup 问题是您正在添加标记,而从未删除旧标记。您必须传递所有坐标,以便首先删除旧坐标,然后添加新坐标。