问题标签 [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 - 使用反应传单注册事件
我正在尝试将 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 或其他事情有关。但我不确定。我将不胜感激任何帮助。
这是我的组件代码:
javascript - react-leaflet:添加一个 TopoJSON 层
我刚开始使用 react-leaflet 库并获得了一张要加载 geoJSON 图层的地图,但是我想改用 TopoJSON 图层。
我知道像这样的纯传单是可能的:https ://gist.github.com/rclark/5779673/ 。
但是我将如何使用 React-Leaflet 来做到这一点?
编辑
javascript - 如何在传单控件搜索结果上显示 2 个值(工具提示)
我正在使用传单控制搜索来搜索标记。http://labs.easyblog.it/maps/leaflet-search/examples/outside.html 标记像这样存储在json中
在上面的脚本中,它只显示 1 个值:屏幕截图
我想显示 2(两个)值“标题”和“颜色”;
leaflet - 如何在触摸设备上禁用单指拖动
当用户在移动浏览器上拖动页面时,它的行为就像滚动,但是当涉及到地图并且用户的手指在地图上时,传单的拖动事件会被触发,而滚动则不会。
我想禁用单指拖动但保持双指拖动,以便用户可以用 2 根手指拖动地图,同时用 1 根手指滚动页面。
问题:有没有办法做到以上几点?
react-leaflet - 如何计算界限
我正在尝试使用 React-leaflet 但无法使 boundsOptions 工作。这显然是因为它们只有在我们预先计算界限时才起作用。
如何计算给定点和缩放级别或半径的边界?
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
,我让它工作了。
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
react-leaflet - 反应传单碰撞
我正在使用没有任何城镇标签的地图。我正在放置标签,我需要这些标签在放大/缩小时出现和消失。缩小时只出现大城镇,放大时出现所有城镇。现有的反应传单中是否有此功能?我也在尝试为 Leaflet.LayerGroup.Collision 制作插件,我尝试从 react-leaflet 覆盖 LayerGroup
但我收到错误
未捕获的 TypeError: (0 , _leaflet.layerGroup)(...).collision 不是函数
任何帮助如何实现这个或任何替代的想法?
javascript - 传单:找不到地图容器
我有下面的反应类,它通过浏览器获取地理位置。
我正在绘制一张传单地图。我想将地理定位作为 setView 的输入,以便地图“缩放”到客户端浏览器位置的区域。
这是反应类:
它在 HTML 呈现为<WorldMap />
.
Uncaught Error: Map container not found.
加载页面时出现错误。环顾四周,通常是因为地图试图在提供值之前显示在 div 中(在这种情况下为 (gelocation, 3))。但是,它不应该在从下面的渲染函数返回之前显示它。
可能是什么问题?
在控制台中打印出geolocation
正确获取坐标,所以这似乎不是问题。