Javascript 在谷歌地图中单击列表位置项时,尝试显示信息窗口

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} /> 如果我

我的问题是这个软件包(GoogleMapsReact)有一个显示信息窗口的默认功能

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软件包。它的文档是这个反应谷歌地图,谷歌反应地图-哇!我已经更新了答案。