reactjs - 谷歌地图反应标记和列表
问题描述
我想知道是否有人使用 google-maps-react 库来创建标记和列表项。我有一个渲染地图、标记和信息窗口的地图组件。我还有另一个组件,其中包含代表每个标记值的所有位置列表 (li)。有没有办法可以点击列表项,并触发相应的标记的点击事件。
解决方案
我猜你的意思是google-maps-react
图书馆,对吧?假设您有一个组件来选择地址:
const CityList = props => {
return (
<div>
<ul>
{props.items.map((item, index) => {
return (
<li key={index} onClick={e => props.onClick(e, item)}>
{item.title}
</li>
);
})}
</ul>
</div>
);
};
然后,您可以将选定的值作为状态引入,并在单击地址列表项后更新状态。更新状态将触发Map
组件的重新渲染:
class App extends Component {
state = {
selectedItem: { lat: 0, lng: 0 }
};
showInfo(e, selectedItem) {
this.setState({ selectedItem: selectedItem });
}
render() {
return (
<div>
<CityList items={data} onClick={this.showInfo.bind(this)} />
<MapContainer
center={{ lat: -24.9923319, lng: 135.2252427 }}
zoom={4}
data={data}
selectedItem={this.state.selectedItem}
/>
</div>
);
}
}
这是一个演示供您参考
推荐阅读
- python - 是否可以在 nbviewer 中使用 jupyter_contrib_nbextensions?
- ansible - Ansible 2.7 如何遍历用户列表并运行一组任务
- javascript - 我们可以在 react-native 应用程序中嵌入 YouTube 直播吗
- php - 使用“DISTINCT YEAR(created_at)”寻找与此基本查询等效的 Eloquent
- android-webview - 在以下示例中,如何将 Web 视图添加到 Navigation Expandable List?
- r - ggraph - 格式化图形边缘
- node.js - 将 HTTP 主体从一个函数传递到另一个 nodeJS
- kubernetes - kubectl config 合并重定向不像预期的那样
- cmd - WScript.CreateObject("WScript.Shell") 在 win8 的 cmd 中无法识别
- c++ - 二叉树中节点的级别