0
我想在標記上單擊顯示InfoWindow。我跟着一些教程,並使用react-google-maps作爲我的項目。我希望我的應用能夠像這樣工作:「https://tomchentw.github.io/react-google-maps/basics/pop-up-window」,但我的代碼有點不同。React + Redux - 在標記上顯示InfoWindow單擊
class Map extends React.Component {
handleMarkerClick(){
console.log("Clicked");
}
handleMarkerClose(){
console.log("CLOSE");
}
render(){
const mapContainer= <div style={{height:'100%',width:'100%'}}></div>
//fetch markers
const markers = this.props.markers.map((marker,i) => {
return (
<Marker key={i} position={marker.location} showTime={false} time={marker.time} onClick={this.handleMarkerClick} >
{
<InfoWindow onCloseClick={this.handleMarkerClose}>
<div>{marker.time}</div>
</InfoWindow>
}
</Marker>
)
})
/* set center equals to last marker's position */
var centerPos;
if(markers[markers.length-1]!== undefined)
{
centerPos=markers[markers.length-1].props.position;
}
else {
centerPos={};
}
return (
<GoogleMapLoader
containerElement={mapContainer}
googleMapElement={
<GoogleMap
defaultZoom={17}
center={centerPos}
>
{markers}
</GoogleMap>
}/>
);
}
}
export default Map;
我從另一個從URL獲取數據的類組件獲得「this.props.markers」。我幾乎可以肯定,這是很容易解決的問題。目前在控制檯上的標記點擊我得到了「點擊」,標記關閉「關閉」,你可以從上面的代碼猜測這是因爲handleMarkerClick()和handleMarkerClose()。我想用InfoWindow彈出窗口。 我該怎麼做才能使它工作?
這裏是Heroku的鏈接:App on heroku
我在這個問題上有點迷失,你可以精心製作一個模型或在https://jsfiddle.net/ – cabolanoz
上的示例你能重新表達嗎?信息窗口不顯示? – dagatsoin
我想彈出InfoWindow,就像這裏一樣,但目前我不知道如何通過反應來實現它。我會將我目前的代碼上傳到heroku;) – Mateusz