将Leaflet.Polyline.SnakeAnim与反应传单集成

时间:2017-04-14 05:41:02

标签: javascript reactjs leaflet polyline react-leaflet

我想知道如何整合Leaflet.Polyline.SnakeAnim(https://github.com/IvanSanchez/Leaflet.Polyline.SnakeAnim)和react-leaflet(https://github.com/PaulLeCam/react-leaflet)Leafletjs插件。

我有一个React应用程序,它使用react-leaflet在DOM中显示一些折线。像这样:

<Polyline weight={4} color={ intToRGB(hashCode(session['session_id'])) } positions={session.waypoints.map(waypoint => [ waypoint.lat, waypoint.lng ])} />

如果我可以动画它们以使它们像前面提到的插件允许的那样“蛇形”,那就太好了。但由于我的Polylines被实现为React组件,我没有看到我将如何为它们提供此功能。

我真的很喜欢使用react-leaflet语法,如果我不得不将我的应用程序移植到VanillaJS来实现此功能,这将是一个无赖的事情

感谢任何帮助!

https://github.com/caseysiebel/map-express/blob/master/client/components/Map.js

1 个答案:

答案 0 :(得分:0)

我认为如果你创建一个调用snakeIn方法的自定义组件是可能的。您应该能够创建react-leaflet's Polyline class的副本。在副本中,您将导入Leaflet.Polyline.SnakeAnim并修改createLeafletElement功能。我认为您可能还必须覆盖从componentWillMount类继承的componentWillUnmountMapLayer方法,以使用向地图添加和删除折线的不同签名。 / p>