Я пытаюсь создать простое приложение с картой, в котором нет маркеров, которые запускают информационное окно при щелчке, я использую библиотеку response-google-maps, прямо сейчас я пытаюсь обработать информационное окно на части щелчка, я добавил свойство isOpen для каждого маркера, значение которого по умолчанию должно быть ложным, а если оно истинно, должно появиться информационное окно. это состояние:
state = {
markers: [
{
"id": "Abu-Simbel",
"position":{ lat: 22.337232, lng: 31.625799 },
"isOpen":false
},
{
"id": "Karnak-Temples",
"position":{ lat: 25.718835, lng: 32.65727 },
"isOpen":false
},
{
"id": "Luxor-Temple",
"position":{ lat: 25.699502, lng: 32.639051 },
"isOpen":false
},
{
"id": "Edfu-Temple",
"position":{ lat: 24.977929, lng: 32.87337 },
"isOpen":false
},
{
"id": " Phiale-Temple",
"position":{ lat: 24.025171, lng: 32.884643 },
"isOpen":false
},
{
"id": " Kom-Ombo-Temple",
"position":{ lat: 24.452133, lng: 32.928432 },
"isOpen":false
}
]
}
и это функция handleClick:
handleMarkerTap=(marker)=>{
if (marker.isOpen === false) {
marker.isOpen = true
} else if (marker.isOpen === true) {
marker.isOpen = false
}
}
и вот как я визуализировал маркеры внутри компонента карты:
props.markers.map(
(marker)=>(
<div key={marker.id}>
<Marker
title={marker.id}
id={marker.id}
position={marker.position}
isOpen={marker.isOpen}
onClick={
() => {
props.handleMarkerTap(marker)
console.log(marker.id+" is "+marker.isOpen);
}
}
>
{marker.isOpen && <InfoBox
onCloseClick={props.handleMarkerTap}
options={{ closeBoxURL: ``, enableEventPropagation: true }}
>
<div style={{ backgroundColor: `yellow`, opacity: 0.75, padding: `12px` }}>
<div style={{ fontSize: `16px`, fontColor: `#08233B` }}>
{marker.id}
</div>
</div>
</InfoBox>}
</Marker>
</div>
)
)
Вопрос в том, как получить доступ к свойству isOpen для каждого маркера с помощью этой функции.