【发布时间】:2023-03-13 08:52:01
【问题描述】:
我正在使用react-google-maps 显示带有标记的地图,当您单击标记时,所有信息窗口都会打开。当我点击它时,我想只显示一个标记的信息窗口,而其他的则保持关闭。
这是我的代码:
<GoogleMap
defaultZoom={15}
defaultCenter={{ lat: 51.508530, lng: -0.076132 }}
>
{props.places && props.places.map((place, i) =>
<Marker onClick={props.onToggleOpen} key={i} position={{ lat: place.geometry.location.lat(), lng: place.geometry.location.lng() }} >
{props.isOpen && <InfoWindow onCloseClick={props.onToggleOpen}>
<div>{place.name}</div>
</InfoWindow>}
</Marker>
)}
</GoogleMap>
我用这个打开和关闭信息窗口
import { compose, withProps, withStateHandlers, withHandlers, withState } from "recompose";
...
withStateHandlers(() => ({
isOpen: false,
}), {
onToggleOpen: ({ isOpen, id }) => () => ({
isOpen: !isOpen,
})
}),
我正在绘制所有标记,并将它们显示在地图上。我怎么能点击打开一个标记信息窗口? Here is a related question,但它不是用 React 制作的,也不使用 react-google-maps。
【问题讨论】:
标签: javascript reactjs google-maps google-maps-api-3 react-google-maps