Я делаю приложения 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
Спасибо за любую помощь!