Действие для кликаемого маркера на Google Map - PullRequest
0 голосов
/ 04 июня 2018

Я делаю приложения Google Map в React с помощью «response-google-maps», и у меня есть этот код:

  • в файле App.js. У меня есть объявление изображения в состоянии:
... state = {
        markers: markers_all,
        pageTitle: "Warsaw Cultural Map",
        listTitle: "List of Places",
        activeKey: "",
        error: "There was an error with making a request from Wikipedia.",
        image: "http://www.serwisstron.pl/icons/",   };

//This is function for onclick marker   onMarkerClick = () => {
    this.setState({image: 'http://www.serwisstron.pl/icons/yellow/'})} 
  • и определение маркера в файле map.js:
...  <Marker
    {...marker}
    key={i}
    position={marker.location}
    title={marker.title}
    icon={props.image + marker.type + '.png'}
    animation={window.google.maps.Animation.DROP}
    onClick={() => {
       props.markerLocationsActive(i)
       resetInfoBox()
       getInfo(marker.title)
       props.onMarkerClick(i)
       geocodeByPlaceId(marker.place_id)
       .then(results => {
          const address = results[0].formatted_address;
          document.getElementById('address').innerHTML = 'Address: ' + address;
        })
       .catch(error => console.error(error))
     }}>

Я хочуизменить символ маркера, когда маркер будет нажата.Но это не очень хорошо работает, потому что когда я нажимаю на маркер, меняются все значки маркеров, а не только тот, на который нажимали .... Как я могу это сделать?Может быть, некоторые из вас знают, что не так в моем коде?

Вот ссылка на репозиторий на GitHub с этим приложением: https://github.com/hajczek/Neighborhood---Warsaw-Cultural-Map

Спасибо за любую помощь!

...