【发布时间】:2018-03-02 08:43:44
【问题描述】:
我的代码有问题。 我想在单击标记时显示 InfoWindow,但实际上所有标记都会自动打开(如果 showInfo 属性设置为 false),而不是在单击每个标记时显示。
有return方法,因为我需要把所有这些代码放在我组件的render方法中。
const markers = this.props.markers.map((venue, i) => {
const marker = {
showInfo: false,
position: {
lat: venue.location.lat,
lng: venue.location.lng
},
name: venue.name,
handleMarkerTap(marker) {
if (marker.showInfo === false) {
marker.showInfo = true
} else if (marker.showInfo === true) {
marker.showInfo = false
}
console.log(marker.showInfo);
}
};
return(
<Marker key={i} onClick={marker.handleMarkerTap(marker)} {...marker} >
{marker.showInfo && (
<InfoWindow
onCloseClick={marker.handleMarkerTap(marker)} >
<div>
<b>{marker.name}</b>
</div>
</InfoWindow>
)}
</Marker>
)
});
谢谢。
【问题讨论】:
标签: reactjs google-maps maps marker infowindow