问题标签 [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.

0 投票
2 回答
7083 浏览

javascript - 使用反应传单注册事件

我正在尝试将 React-Leaflet 合并到我的 Create React App 中。我可以在底图上叠加 GeoJSON 数据,但我无法在该图层上注册点击。

在调查此问题时,我发现了以下 jsfiddle,https: //jsfiddle.net/n7jmqg1s/6/,它在单击形状时注册事件,如 onEachFeature 函数所示:

我尝试将其复制并粘贴到我的反应应用程序中,但它在那里不起作用。我唯一改变的是而不是 window.React/window.LeafletReact 我使用了 es6 导入。我不认为这会导致问题,但我认为这是可能的。

我查看了 onEachFeature 函数的参数。在 jsfiddle 中,我得到了 2 个参数——特征和图层数据的外观。然而,在我复制的示例中,我得到了 3 个参数,其中前两个是空的,第三个参数包含一个包含许多内容的对象,包括 (enqueueCallback : (publicInstance, callback, callerName))

我意识到这有点含糊,但我希望这个问题很容易被识别为对 React 或传单的误解。我认为这与我没有传递正确的范围或直接操作 DOM 或其他事情有关。但我不确定。我将不胜感激任何帮助。

这是我的组件代码:

0 投票
2 回答
1364 浏览

javascript - react-leaflet:添加一个 TopoJSON 层

我刚开始使用 react-leaflet 库并获得了一张要加载 geoJSON 图层的地图,但是我想改用 TopoJSON 图层。

我知道像这样的纯传单是可能的:https ://gist.github.com/rclark/5779673/ 。

但是我将如何使用 React-Leaflet 来做到这一点?

编辑

0 投票
2 回答
916 浏览

javascript - 如何在传单控件搜索结果上显示 2 个值(工具提示)

我正在使用传单控制搜索来搜索标记。http://labs.easyblog.it/maps/leaflet-search/examples/outside.html 标记像这样存储在json中

在上面的脚本中,它只显示 1 个值:屏幕截图

我想显示 2(两个)值“标题”和“颜色”;

0 投票
1 回答
5025 浏览

leaflet - 如何在触摸设备上禁用单指拖动

当用户在移动浏览器上拖动页面时,它的行为就像滚动,但是当涉及到地图并且用户的手指在地图上时,传单的拖动事件会被触发,而滚动则不会。

我想禁用单指拖动但保持双指拖动,以便用户可以用 2 根手指拖动地图,同时用 1 根手指滚动页面。

问题:有没有办法做到以上几点?

0 投票
1 回答
123 浏览

javascript - 如何自定义弹出样式?

我想创建一种新样式以在弹出窗口中重新定位地图。没看懂怎么办。。

例子 :

在此处输入图像描述

0 投票
2 回答
1427 浏览

react-leaflet - 如何计算界限

我正在尝试使用 React-leaflet 但无法使 boundsOptions 工作。这显然是因为它们只有在我们预先计算界限时才起作用。

如何计算给定点和缩放级别或半径的边界?

0 投票
2 回答
4178 浏览

react-leaflet - 反应传单pointToLayer 选项来改变图标

我目前正在尝试学习反应,我想使用传单地图(react-leaflet)。

我有两个(点,多边形)GeoJson 对象要显示,它们正在工作,但我想替换默认标记图标。

传单文档http://leafletjs.com/examples/geojson/告诉我使用 pointToLayer 选项。

代码:

onEachFeaturePoint, onEachfeaturePolygon, pointToLayer

使成为

如果我保持pointToLayer={this.pointToLayer.bind(this)}它停止工作并出现以下错误:

我不知道为什么会发生错误,也许有人知道如何解决这个问题或帮助我理解我犯的错误。

编辑:return <CirleMarker />通过return L.circleMarker()在函数中替换pointToLayer,我让它工作了。

0 投票
1 回答
718 浏览

react-leaflet - _leaflet2.default.map 不是函数

我尝试从 https://github.com/PaulLeCam/react-leaflet/blob/master/docs/Getting%20started.md运行反应代码示例,但出现“_leaflet2.default.map 不是函数”错误从 react-leaflet.js 中的下一个代码:

链接到我的源代码:https ://github.com/sergeysibara/react-leaflet-test

0 投票
1 回答
352 浏览

react-leaflet - 反应传单碰撞

我正在使用没有任何城镇标签的地图。我正在放置标签,我需要这些标签在放大/缩小时出现和消失。缩小时只出现大城镇,放大时出现所有城镇。现有的反应传单中是否有此功能?我也在尝试为 Leaflet.LayerGroup.Collision 制作插件,我尝试从 react-leaflet 覆盖 LayerGroup

但我收到错误

未捕获的 TypeError: (0 , _leaflet.layerGroup)(...).collision 不是函数

任何帮助如何实现这个或任何替代的想法?

0 投票
6 回答
69038 浏览

javascript - 传单:找不到地图容器

我有下面的反应类,它通过浏览器获取地理位置。

我正在绘制一张传单地图。我想将地理定位作为 setView 的输入,以便地图“缩放”到客户端浏览器位置的区域。

这是反应类:

它在 HTML 呈现为<WorldMap />.

Uncaught Error: Map container not found.加载页面时出现错误。环顾四周,通常是因为地图试图在提供值之前显示在 div 中(在这种情况下为 (gelocation, 3))。但是,它不应该在从下面的渲染函数返回之前显示它。

可能是什么问题?

在控制台中打印出geolocation正确获取坐标,所以这似乎不是问题。