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)