javascript - 在 InfoWindow 中添加更多信息
问题描述
所以我已经工作google-maps-react
了几个月,一切都很好,现在只有一点我不明白。这可能就是我无法做到这一点的原因。
所以这是我的结构<InfoWindow>
:
<InfoWindow
marker={this.state.activeMarker}
visible={this.state.showingInfoWindow}
>
<div>
<h1>{this.state.selectedPlace.title}</h1>
</div>
</InfoWindow>
所以这很好,并向我显示了标题,但我想要更多信息。
这是我setState()
的信息,当我点击 a 时触发的功能<Marker />
:
onMarkerClick = (props, marker) => {
this.setState({
selectedPlace: props,
activeMarker: marker,
showingInfoWindow: true
})
}
我只是这样称呼它:
onClick={this.onMarkerClick}
但这是我不明白的事情,这些值 (props
和marker
) 来自哪里?我怎样才能在其中传递另一个值?假设我想通过m
,我该怎么做?因为如果我进去m
了,onClick()
他会这么说props
并且marker
失踪了……
请指导我。
解决方案
好的,所以我通过分析他如何获得所有信息来弄清楚一点。我已经看到props
打印出来的值是它本身onMarkerClick()
的所有道具<Marker />
,所以我添加了一个prop
包含我的值的数据m
。
这就是我<Marker />
现在的样子:
<Marker
key={uuidv1()}
position={{ lat: m.x, lng: m.y }}
title={m.title}
data={m}
onClick={this.onMarkerClick}
/>
现在onMarkerClick
我可以简单地做props.data
,我可以访问所有信息。
推荐阅读
- python-3.x - 使用 --onefile 选项添加文本文件
- python - Obtain text from a form/field of another application
- python - 熊猫:删除重复的日期但保留最后一个
- node.js - How do you access the directory that your module is in?
- laravel - Laravel route view name declaration not showing up
- r - 根据另一列中的不同值添加一列
- sql - 两列中的 ID - 查找一个 ID 并检索另一个 ID
- android - How to directly click/tap text link inside message block by Appium automated tool
- c# - How to fix the Any method seemingly returning true in If statement no matter what
- ruby-on-rails - Rails:向本地服务器发出获取请求时出错