изменить положение маркера с помощью setState реагировать на компонент карты Google _React Google Map - PullRequest
0 голосов
/ 01 мая 2019

Я знаю, что могу сделать внешний компонент и передать его в Google с параметрами координат. но моя проблема в том, что я меняю состояние, но маркер не двигается, потому что компонент карты реагирования не знает о моих изменяющихся состояниях для перемещения маркера.

компонент карты:

<GoogleMapReact
  styles={{ height: '100vh', width: '100%' }}
  bootstrapURLKeys={{ key: "nothing comes free these days" }}
  defaultCenter={this.state.center}
  defaultZoom={20}>
  <Marker position={{ lat: this.state.position.lat, lng: this.state.position.lng }} text='Current location' />
</GoogleMapReact>

<button onClick={(e) => this.setState({ position: { lat: map.location.coordinates[0], lng: map.location.coordinates[1] } })}>pin</button>

this.state = {
  center: {
      lat: 35.4090,
      lng: 51.1555
  },
  position: {
      lat: 35.4090,
      lng: 51.1555
  },
}
...