【发布时间】:2021-02-19 16:46:06
【问题描述】:
我正在使用 react-google-maps 库,到目前为止我做得很好。我的应用程序从我的后端接收到一个带有位置的 json,我正在映射它们以在地图上添加标记,它们显示得很好。这些标记有一个 OnClick 函数,可以在 ReactHook 上设置信息。
当我的钩子状态发生变化时,我的 InfoWindow 会触发并显示自己,这很好。问题是一个小的InfoWindow,没有任何信息同时触发,我已经尝试找到错误几个小时了,但我找不到它,我检查了代码,我也是从浏览器检查组件,但反应开发者工具无法识别那个小信息窗口。
这是我的代码:
function Map(props){
const [selectedTienda, setSelectedTienda] = useState(null)
const options ={
styles: MapStyles,
disableDefaultUI: true,
}
return(
<GoogleMap
defaultZoom={17}
defaultCenter={{lat: 29.0824139, lng: -110.966389}}
options={options}
>
{props.items.map(tienda =>(
<Marker
key={tienda['tienda.id']}
position={{
lat: parseFloat(tienda['tienda.ubicacion.lat']),
lng: parseFloat(tienda['tienda.ubicacion.lng'])
}}
onClick={()=>{
setSelectedTienda(tienda);
}}
/>
))}
{selectedTienda ? (
<InfoWindow position={{
lat: parseFloat(selectedTienda['tienda.ubicacion.lat']),
lng: parseFloat(selectedTienda['tienda.ubicacion.lng'])
}}
onCloseClick={()=>{setSelectedTienda(null)}}
>
<div><h4>This is the <br/>INFOWINDOW I WANT</h4></div>
</InfoWindow>
): null}
</GoogleMap>
)
}
const MyMapComponent = withScriptjs(withGoogleMap(Map))
这也是我噩梦的图像:
这是我的 react 开发工具显示的,它只是主要的信息窗口
【问题讨论】:
标签: reactjs google-maps react-hooks infowindow react-google-maps