Javascript 在谷歌地图中单击列表位置项时,尝试显示信息窗口
我的问题是这个软件包(GoogleMapsReact)有一个显示信息窗口的默认功能Javascript 在谷歌地图中单击列表位置项时,尝试显示信息窗口,javascript,reactjs,infowindow,google-maps-react,Javascript,Reactjs,Infowindow,Google Maps React,我的问题是这个软件包(GoogleMapsReact)有一个显示信息窗口的默认功能 onMarkerClick = (props, marker, e) => this.setState({ selectedPlace: props, activeMarker: marker, showingInfoWindow: true }); 还有一个具体的称呼 <Marker onClick={this.onMarkerClick} /> 如果我
onMarkerClick = (props, marker, e) =>
this.setState({
selectedPlace: props,
activeMarker: marker,
showingInfoWindow: true
});
还有一个具体的称呼
<Marker onClick={this.onMarkerClick} />
如果我使用console.log(ActiveMarker),我会在照片上看到这个对象。。有人能解释一下是什么吗??因为我想用参数调用此函数,而无法检索此对象以便将其传递给另一个函数。我之所以需要它,是因为我想在另一个处理列表位置项单击的函数中调用onMarkerClick。。提前感谢:略带笑容:activeMarker对象为您提供有关所选标记的信息(地址、位置等)。在这个例子中,我注意到他们有一个infoWindow元素,它根据属性显示/隐藏-您的代码中是否有切换该属性的地方
<InfoWindow
marker={this.state.activeMarker}
visible={this.state.showingInfoWindow}>
<div>
<h1>{this.state.selectedPlace.name}</h1>
</div>
</InfoWindow>
{this.state.selectedPlace.name}
您当前正在更新状态以捕获标记和selectedPlace。要触发信息窗口从另一个函数弹出,只需切换ShowingInfo窗口值。您还可以检索标记信息,因为它现在是您状态的一部分。您可以随时向新函数传递信息,如
......
markerClicked(marker) {
console.log('marker', marker);
this.setState({
activeMarker: marker,
showingInfoWindow: true,
selected_pin_lat: marker.position.lat(),
selected_pin_lng: marker.position.lng(),,
});
}
......
<Marker
key={index}
name={pin.type}
position={{ lat: pin.location[0], lng: pin.location[1] }}
onClick={(props, marker, clickEvent) => this.markerClicked(marker)}
icon={
new window.google.maps.MarkerImage(
ICONS.mapPinIcon,
null,
null,
null,
new window.google.maps.Size(30, 30),
)
}
/>
......
。。。。。。
标记器单击(标记器){
console.log('marker',marker);
这是我的国家({
活动标记器:标记器,
ShowingInfo窗口:正确,
所选锁定:marker.position.lat(),
所选针脚:marker.position.lng(),,
});
}
......
this.marker单击(marker)}
图标={
新建window.google.maps.MarkerImage(
ICONS.mapPinIcon,
无效的
无效的
无效的
新窗口。谷歌。地图。大小(30,30),
)
}
/>
......
谢谢,但我正在使用另一个npm软件包。它的文档是这个反应谷歌地图,谷歌反应地图-哇!我已经更新了答案。