1

所以我已经工作google-maps-react了几个月,一切都很好,现在只有一点我不明白。这可能就是我无法做到这一点的原因。

所以这是我的结构<InfoWindow>

<InfoWindow
    marker={this.state.activeMarker}
    visible={this.state.showingInfoWindow}
>
  <div>
      <h1>{this.state.selectedPlace.title}</h1>
   </div>
</InfoWindow>

所以这很好,并向我显示了标题,但我想要更多信息。

这是我setState()的信息,当我点击 a 时触发的功能<Marker />

    onMarkerClick = (props, marker) => {
        this.setState({
            selectedPlace: props,
            activeMarker: marker,
            showingInfoWindow: true
        })
    }

我只是这样称呼它:

onClick={this.onMarkerClick}

但这是我不明白的事情,这些值 (propsmarker) 来自哪里?我怎样才能在其中传递另一个值?假设我想通过m,我该怎么做?因为如果我进去m了,onClick()他会这么说props并且marker失踪了……

请指导我。

4

1 回答 1

1

好的,所以我通过分析他如何获得所有信息来弄清楚一点。我已经看到props打印出来的值是它本身onMarkerClick()的所有道具<Marker />,所以我添加了一个prop包含我的值的数据m

这就是我<Marker />现在的样子:

<Marker
  key={uuidv1()}
  position={{ lat: m.x, lng: m.y }}
  title={m.title}
  data={m}
  onClick={this.onMarkerClick}
/>

现在onMarkerClick我可以简单地做props.data,我可以访问所有信息。

于 2019-07-27T07:31:55.093 回答