打开标记reactjs onclick

时间:2018-05-30 14:59:25

标签: javascript reactjs google-maps

我在项目中使用reactjs和谷歌地图

我想显示一些标记,但是当我点击我的标记时,我的所有标记都会出现

我想当时只打开一个标记(onclick) 你能告诉我我的功能有什么问题吗?

 const MapWithAMakredInfoWindow = compose(
        withStateHandlers(() => ({
            isOpen: false,
        }), {
            onToggleOpen: ({ isOpen }) => () => ({
                isOpen: !isOpen,
            })
        }),

        withScriptjs,
        withGoogleMap
    )(props =>
        <GoogleMap
            defaultZoom={8}
            defaultCenter={{ lat: 44.8350088, lng: -0.5872689999999999 }}
        >

            {this.state.PartenaireData.map(function (item, i) {
                if (item.coordinates.latitude && item.coordinates.longitude)
                    return (
                        <Marker
                            position={{ lat: item.coordinates.latitude, lng: item.coordinates.longitude }}
                            onClick={props.onToggleOpen}
                            key={i}
                        >
                            { (props.isOpen ) &&
                            <InfoWindow  onCloseClick={props.onToggleOpen}>
                                <div>
                                    <div>{item.titre}</div>
                                    <div >autre data</div>
                                </div>
                            </InfoWindow>}
                        </Marker>)
            })}


        </GoogleMap>
    );

1 个答案:

答案 0 :(得分:1)

string data = ""; void Start() { Scoreboard scoreBoard = new Scoreboard(data); string s = string.Format ("{0}", scoreBoard); Debug.Log ("The data is : " + s); } isOpen应该是onToggleOpen而不是Marker的属性。

通过将它们传递给GoogleMap,您将它们设为全局(对于所有标记都相同)。因此,将GoogleMap设置为isOpen会打开所有标记。

可能是这样的

true