reactjs - 有没有办法在地图上的反应传单中显示下拉菜单
问题描述
我试图在反应传单地图上显示一个简单的下拉列表,以显示某些数据的标记。一旦用户从下拉列表中选择一个选项,我希望在地图上显示一些数据。目前我还没有找到一个直接的方法来做到这一点。或任何在线示例代码。
我尝试了一个模块 react-leaflet-control 但由于一些打字稿错误,我假设它无法正常工作。我曾尝试使用 react-leaflet 显示复选框而不是下拉列表,LayerControl.Overlay
但我认为这不是我需要的,它对我的情况并不真正有用。任何建议和示例代码将不胜感激。
解决方案
你试过LayersControl
吗?你可以在这里找到一些文档
这就是它的工作原理。您定义一个LayersControl
标签,并且可以将Overlay
标签与您的 GeoJSON 数据一起添加。每个Overlay
标签将是一个不同的层。所以你可以有多个 GeoJSON 层。每个图层将是下拉菜单中的一项。
<LayersControl position="topright" collapsed={false}>
{this.state.layersName.map((layerName, i) => {
return (
<Overlay key={i} name={`${layerName}`} checked>
<GeoJSON
data={this.state.layersData[i]}
/>
</Overlay>
)
})}
</LayersControl>
推荐阅读
- react-native - React Navigation(V3):如何在自定义路由文件中设置导航功能?
- html - 更改 index.html 的内容是否需要重新启动 IIS 站点?
- android - Firebase 查询 2 种相同的方法,一种有效,另一种无效
- ios - CircleCI for iOS - 缓存 cocoapods 依赖项
- vba - 如何修复“运行时错误‘3464’:条件表达式中的数据类型不匹配。” 在 MS 访问
- python - Dynamodb 读取性能差
- haskell - 是否可以将 asciidoc 与 hakyll 一起使用?
- django - Django + Gunicorn + SCRIPT_NAME
- c# - cv::VideoCapture 在 C# 项目中从 DLL 使用时不会打开文件或流
- swift - 在 Swift 中的同一个 VC 上点击按钮后,有没有办法显示以前隐藏在早期代码行中的 UI 元素?