问题标签 [react-leaflet-v3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
29 浏览

leaflet - 如何从 mapcontainer 中删除 geojson 组件

嗨,我想在 map 函数中添加一个选择下拉菜单,这样,当它的值发生变化时,MyData 组件层会被删除/移除,并在其位置呈现一个新层。那可能吗?

上述代码的沙箱

0 投票
0 回答
20 浏览

javascript - 如何在 REACT 中使用 MapContainer 外部的信息渲染传单路由机块

如何在 REACT 中使用 MapContainer 外部的信息渲染传单路由机器块?

请看看... 我想得到这个结果

非常感谢!!!!

0 投票
1 回答
66 浏览

leaflet - TileLayer、Geojson 之间的自定义窗格中的 Leaflet zIndex

我正在使用允许订单决策的界面组织几个层。例如我有 3 层:

  1. WMS层,顺序:3
  2. Geojson层:顺序2
  3. WMS层,顺序:1

我可以使用 zIndex 属性订购 WMS 图层。然而,Geojson 层也无法适应这些。

Leaflet.Pane 概念 + 自定义窗格是我尝试过的,这有助于将自定义图层移动到让我们说一切。但是在这个自定义窗格中,我无法为这个 Geojson (svg) 图层分配订单。

在此示例中,tileLayers 和 geoJSON 在同一个自定义窗格中。在此窗格中,我想根据属性(例如 zIndex)切换图层的顺序。但我找不到如何使用 TileLayer <> Geojson 组合来做到这一点。

https://codesandbox.io/s/leaflet-custom-pane-fw0ue

0 投票
1 回答
162 浏览

reactjs - React Leaflet 中 MarkerClusters 的自定义图标

我正在尝试为我的标记簇(而不是常规的圆形簇)实现自定义图标。我参考了链接并实现如下代码所示: https ://www.npmjs.com/package/react-leaflet-markercluster

但我不断得到:

TypeError:无法读取未定义的属性(读取“divIcon”)

有没有办法使用自定义图像作为标记集群的图标?另外,有没有办法改变用于显示集群内标记数量的文本颜色?任何帮助将不胜感激。

0 投票
1 回答
51 浏览

css - 更改或移动弹出反应传单的位置

我的标记弹出窗口重叠,使其部分可见。我需要移动上面的弹出窗口。

在此处输入图像描述

在此处输入图像描述

代码:

我也尝试访问弹出组件,但这会破坏弹出窗口。

在此处输入图像描述

0 投票
1 回答
31 浏览

leaflet - WMSTileLayer 事件处理程序在反应传单中不起作用

根据下面的代码必须工作的反应传单文档。还是我做错了什么?建议将不胜感激。提前致谢

0 投票
2 回答
66 浏览

reactjs - React-leaflet 性能问题,防止 GeoJSON 重新渲染

我有以下问题:

我想使用react-leaflet'sGeoJSON组件创建一个简单的等值线图。我还想要一个工具提示,显示悬停在GeoJSON功能上的值。问题是性能。可以在此处找到 CodePen 示例:https ://codepen.io/timester-the-typescripter/pen/gOXGKOY

我将事件处理程序附加到每个GeoJSON功能,并在我的“主”组件中设置一个状态变量,该组件保存当前悬停区域的值。

const [selected, setSelected] = React.useState(null);

我的工具提示依赖于该状态变量来显示其值。因为每个鼠标悬停事件都会导致主组件状态发生变化,所以 GeoJSON 组件一直被重新渲染。这在 CodePen 示例中不是一个大问题,但对于完整的世界地图来说,这是不幸的。

我假设状态更改会导致这种情况,因为如果我注释掉 2setSelected行(CodePen 中的第 55 行和第 67 行),重新渲染(对 的调用createGeoJSON)停止,并且事件处理程序运行得更快,因为分析器图片显示以下。

状态改变的 Mouseout 事件: 状态改变的 Mouseout 事件

状态更改的 Mouseout 事件已注释掉: 状态更改的 Mouseout 事件已注释掉

我尝试了许多解决方案都没有成功。例如,我认为我无法记住 GeoJSON 组件,因为 Tooltip 必须是它的子组件,这取决于主组件的状态。

将来,我想根据悬停状态变量(例如图例等)添加更多组件。也许该变量也会比简单的数字更复杂一些。

我在这里有什么选择?我对此有另一个 stackowerflow 问题,但后来我没有完全理解这个问题,所以它不是超级专注。我正考虑用 Angular 重写它。我发现 react 和 react-leaflet 使用起来非常愉快,直到出现这个问题。

0 投票
1 回答
48 浏览

javascript - 如何从 useState 数组中获取对象?

我有一个表,其中一行有一个复选框,我有一个称为椭圆的对象。

savedEllipse单击复选框后,我需要使椭圆对象进入数组(使用 useState)。

在我所做的测试中,我看到椭圆对象确实进入了数组,但是现在我必须在取消选中复选框后将其从数组中取出,而且我无法弄清楚如何使用对象类型,例如我在这里的椭圆对象。

你可以看到我对 setChekcedState 做了同样的事情,它确保复选框的名称进出 checkState 数组,而且效果很好,但是当我尝试用同样的方式对椭圆对象执行此操作时,那没起效。

你有想法吗?

我(在 StackOverflow 中)发现了一些与此接近的问题,但没有一个问题涉及这个特定问题,所以不要混淆

这是代码:

0 投票
1 回答
10 浏览

reactjs - 将函数传递给 React-Leaflet 中的 divIcon

我是 React-Leaflet 的新手(使用 v3),所以如果我遗漏了一些明显的东西,这就是原因。对于我当前的应用程序,我需要能够在地图上旋转标记,这会打开也应该旋转相同角度的弹出窗口。对于一般标记旋转,我使用了传单标记旋转插件。这不适用于内部放置的弹出组件。

然后,我当前的方法是为我通过传单 divIcon 自定义的弹出窗口使用旋转标记。现在的问题是,我需要在弹出窗口中调用特定功能的按钮。由于 divIcon 的内容是通过 html 而不是 JSX 定义的,因此我还没有设法传递函数。

在按钮点击我得到: Uncaught SyntaxError: Unexpected end of input

甚至可以将函数传递给 divIcon 吗?如果没有,是否有人对如何创建带有按钮的自定义可旋转弹出窗口有其他想法?

0 投票
0 回答
16 浏览

react-leaflet - 动态创建折线的问题

我有一个问题,我正在根据各种用户行程创建动态折线。我根据给定行程的用户创建了一个 latlong 位置数组,但是,当我为 PolyLine 设置位置时,它似乎绘制了多条线。我可以创建一个具有相同坐标的 const 全局数组并使用它,一切正常。例如,如果我设置 linePositions=myRouteTest 它会很好地加载线路。有什么想法吗。

这是代码:

这是一个示例 json: