Javascript Google maps react标记在单击时不显示信息窗口

Javascript Google maps react标记在单击时不显示信息窗口,javascript,reactjs,google-maps,ecmascript-6,google-maps-react,Javascript,Reactjs,Google Maps,Ecmascript 6,Google Maps React,当我单击谷歌地图标记时,它会注册单击,但我无法在状态更改后显示信息窗口 尝试在单击时设置/读取更新状态 ''反应 从“React”导入React; 从“GoogleMaps react”导入{Map,InfoWindow,Marker,GoogleApiWrapper}; 导出类BathroomMap扩展React.Component{ 建造师(道具){ 超级(道具); 此.state={ GMAPAPI:“https://maps.googleapis.com/maps/api/js?key=

当我单击谷歌地图标记时,它会注册单击,但我无法在状态更改后显示信息窗口

尝试在单击时设置/读取更新状态

''反应

从“React”导入React;
从“GoogleMaps react”导入{Map,InfoWindow,Marker,GoogleApiWrapper};
导出类BathroomMap扩展React.Component{
建造师(道具){
超级(道具);
此.state={
GMAPAPI:“https://maps.googleapis.com/maps/api/js?key=“+this.API_KEY+”&callback=initMap”,
中心:{
拉脱维亚:40.7367,
液化天然气:-73.9899
},
缩放:15,
ShowingInfo窗口:false,
活动标记:{},
所选地点:{},
infoWindowOpen:false,
}
this.handleToggleOpen=this.handleToggleOpen.bind(this);
}
handleToggleOpen=()=>{
console.log(“单击标记”);
这是我的国家({
infoWindowOpen:!this.state.infoWindowOpen,
});
}
render(){
返回(
标记信息占位符
);
}
}
浴室地图({
apiKey:(/*省略*/)
})(浴室地图)
'''

我希望出现带有某种InfowWindow的google地图标记,但InfowWindow返回未定义的结果,InfowWindow上的文档如下所示:

组件的可见性由 可见道具。可见的prop是一个布尔值
(PropTypes.bool)
,它 为true时显示
,为false时隐藏它

有两种方法可以控制
组成部分。您可以使用
位置
道具或连接
通过使用
marker
prop

在代码实现中,缺少一个
可见的
道具,以及
位置
道具或
标记
道具。这就是为什么你的信息窗口没有显示出来

我的答案和相关的链接将有助于你

import React from 'react';
import {Map, InfoWindow, Marker, GoogleApiWrapper} from 'google-maps-react'; 

export class BathroomMap extends React.Component{

constructor(props){
    super(props);
    this.state = {
        gmapsAPI: "https://maps.googleapis.com/maps/api/js?key="+ this.API_KEY +"&callback=initMap",
        center: {
            lat: 40.7367,
            lng: -73.9899
          },
        zoom: 15,
        showingInfoWindow: false,
        activeMarker: {},
        selectedPlace: {},
        infoWindowOpen: false,
    }

    this.handleToggleOpen = this.handleToggleOpen.bind(this);
}

handleToggleOpen = () => {
    console.log("Marker Clicked");
    this.setState({
       infoWindowOpen: !this.state.infoWindowOpen,
    });
}

render() {
    return (

            <Map google={window.google} zoom={14} initialCenter={this.state.center}>
                <Marker onClick={this.handleToggleOpen}
                    name={'Current location'} />
                <InfoWindow open={this.state.infoWindowOpen} onClose={this.onInfoWindowClose}>
                    <div>
                        <h1>Marker Info Placeholder</h1>
                    </div>
                </InfoWindow>
            </Map>

    );
}
}

BathroomMap = GoogleApiWrapper({
  apiKey: (/*Omitted*/)
})(BathroomMap)