我正在使用React-Google-Maps。我试图在每次点击标记时打开和关闭我的信息窗口。当我映射我的数据并调用一个函数来改变点击时布尔值的值时,我在我的对象上设置了一个showInfo键。当试图显示我的信息窗时,这似乎不起作用。有什么建议?代码在这里。
render(){ const markers = this.props.markers.map((item,i)=> {
(Z000, *6*, 2015, 315.00, 100.00, 0)
答案 0 :(得分:0)
单击标记时,您似乎需要运行一些逻辑。现在,无论何时单击标记,marker.showInfo 设置为false并且相应的InfoWindow不呈现。
相反,也许尝试创建在单击标记时调用的函数。 你可以称之为“handleMarkerTap”
一些快速代码为您提供以下想法:
更改你的onClicks:
onClick={() => handleMarkerTap(currentMarker)}
onCloseClick={() => handleMarkerTap(currentMarker)}
创建一个接收标记对象并切换showInfo属性的函数。
handleMarkerTap(marker) {
if (marker.showInfo === false) {
marker.showInfo = true
} else if (marker.showInfo === true) {
marker.showInfo = false
}
}
现在,当单击标记时,该标记的showInfo属性应设置为true,并且InfoWindow应该呈现。
我希望这有帮助!