问题标签 [react-leaflet]
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.
javascript - 传单 - 如何有条件地为特定国家着色?
我有一个离线传单地图,其中国家是从一个带有坐标的巨大 Javascript 变量中绘制的。
index.html 就是这样(codepen 的一个例子,我在本地加载库):
Map.js 是这样的:
这会产生一个漂亮的输出,可以在这里看到: http: //codepen.io/anon/pen/zZNjBy
但是,我希望根据输入为每个国家/地区着色。假设我们打开一个具有潜在输入的对象:
然后我收到以下信息:
通俗地说,阿富汗绿色、丹麦蓝色、瑞典黄色和美国蓝色。其余国家/地区应保持默认颜色值(灰色)。
这些缩写与countries
变量中的“ID”键相匹配。
因此,我的问题是如何解决这个问题;显然,我需要匹配巨大的 GeoJSON 文件中的键。但它几乎有13000行长。
除此之外,在L.geoJSON
我们调用countries
变量的地方,我们返回国家的默认颜色。我在哪里可以访问为每个国家/地区着色的密钥?是否应该将此变量移动到countries
每个国家/地区的变量中,作为随后被覆盖的键?
我试过查看 Leaflet 文档和示例;但大多数人假设您在线检索瓷砖,这在此处是不可能的。它必须在不联系 CDN 或类似的情况下脱机工作——这会带来一些挑战,不用说。
leaflet - 未捕获的类型错误:_arc2.default.GreatCircle 不是构造函数
尝试为 react-leaflet 创建插件。我在返回时收到此错误
L.Polyline.Arc(position.from, position.to, option)
这是我的组件
./leaflet.arc 是
为什么我会收到此错误,有什么建议吗?
react-leaflet - 在 react-leaflet 中渲染 mapbox 矢量图块?
有没有办法使用react-leaflet中的矢量图块?
我知道Leaflet.VectorGrid,但它不是为 react-leaflet 编写的吗?
leaflet - React Leaflet.Arc - 动画
我正在尝试使用动画创建 ReactLeafletArc 插件这是代码
我收到错误
未捕获的类型错误:无法读取未定义的属性“getTotalLength”
使用 console.log(newLine) 我可以看到没有_path。
但如果我评论这部分
该行是在没有动画的情况下创建的,并且使用 console.log(newLine) 我明白了
有什么建议吗?
leaflet - React Leaflet LayerGroup.Collision 插件
这是我的组件
但这不起作用,我只是得到标记。在缩放时我得到错误
未捕获的类型错误:无法读取未定义的属性“调用”
有什么建议吗?
redux - react-leaflet mouseover/out 事件和 redux
我正在尝试将 mouseover/out 事件添加<GeoJSON />
到react-leaflet
. 如果我在下面的代码片段中添加事件并且只添加console.log()
一切正常(鼠标悬停和鼠标悬停工作)。
但是我添加了一个 redux 操作 ( this.props.hoverQuickInfo
) 来更新元素的 css 类。现在我只能注册 mouseover,但永远不会调用 mouseout。我在没有 redux 的情况下尝试了它,并且我使用的是setState
具有相同结果的。
我阅读了一些关于它的内容,发现 redux 状态更改将导致调用shouldComponentUpdate
我试图“过滤”掉对“相同”GeoJSON 元素的任何更新,但我不知道如何让它工作以及为什么会发生。
也许有人可以帮助我。
reactjs - React Leaflet:动态添加标记
如何将标记动态添加到 React-Leaflet 地图?
当用户点击地图时,我想添加新的标记。我无法让它工作。
在addMarker()我尝试添加新的标记。我尝试通过两种方式做到这一点:
一种)
它引发错误:
二)
它不会添加任何新标记,也不会引发任何错误。
您知道如何动态添加/删除标记吗?
reactjs - 在 react-leaflet 上的 react-leaflet-draw 绘制层的弹出窗口中渲染反应组件
我正在尝试在由react-leaflet-draw
.
这是我的尝试:
组件由react-bulma提供。
但我尝试这种方法我得到以下错误:
Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'
.
如果我将内容设为简单字符串,我会得到纯 HTML 字段和按钮,但无法访问外部函数或实际的 Bulma 组件。
本质上,我希望能够将新形状保存在数据库中。
从简短的在线搜索看来,这是一个限制react-leaflet
,但我想先在这里检查。
此外,这是为新创建的形状设置弹出窗口的最佳方式吗?我很难将常规leaflet-draw
方法翻译成react-leaflet-draw
.
react-leaflet - 如何在 react-leaflet 中使用 proj4lefleat?
我有一个工作反应传单地图,我需要重新定义以保存自定义投影(ETRS89 / UTM 区域 32N,EPSG:25832),因为传单发送的默认 EPSG:3857 WMS 请求正在生成一个移位地图(所以市政府我正在使用的数据告诉我使用他们的原生投影)。
我可以像这样导入 proj4leaflet 并定义投影:
当我将此添加到我的地图时:
之后我的 WMSTileLayer 和 TileLayer 都不会渲染。调试这个的最好方法是什么?请注意,由于我使用的是开放式政府数据 WMS,因此我无法访问我正在查询的服务器,因此我看不到那里的日志。
javascript - 将 react-leaflet Map 组件包装在标签使它消失
我正在尝试<DeviceControls/>
在我的组件旁边添加一个兄弟<MapContainer/>
组件。但是当我这样做时,OpenStreetMap / Leaflet 地图将从 DOM 中消失,页面上显示的只是<DeviceControls/>
组件的内容。
这尤其令人困惑,因为我似乎在做与 PaulLeCam/react-leaflet 中的官方示例相同的事情(https://github.com/blob/70cd9f32bb6461df65b0d07b9810d5e9ddf459ad/example/components/index.js)
哪里有许多 React 组件和许多 Map 组件,它们都很好地显示在页面上。
当我尝试同样的事情时,谁能明白为什么它不起作用?即为什么将我的<MapContainer/>
组件包装在我的代码中而不是官方示例代码中似乎消失了?<div>
<MapCOntainer/>