如何使用React将onclick事件添加到Google Maps Infowindow

时间:2018-07-31 15:55:55

标签: javascript reactjs google-maps

我在Google地图上有信息窗口,每当用户单击信息窗口中的心脏图标时,我都想调用一个名为“ addToShortlist”的函数。我首先尝试了这种方法:

let html = `<div class="map-infobox">
<span id=${school.schoolID} onclick="addToShortlist(this.id)">
<i title="heart-icon"></i>
</span>
</div>`
window.google.maps.event.addListener(marker, "click", function () {
      infowindow.setContent(html);
      infowindow.open(this.map, this);
    });

它可以正常工作,但是addToShortlist在react的范围之外。我希望能够在react中使用一个函数,以便可以更新组件的状态和内容。 然后我尝试了:

 ReactDOMServer.renderToString()

但是它仅呈现为字符串,并且所有js onclick处理程序将根本无法工作。

我认为react-google-maps可能可以解决我的问题,但是我已经在没有该库的情况下构建了我的项目。有没有不使用react-google-maps来完成此任务?非常感谢。

0 个答案:

没有答案