Я работаю над картографическим приложением, которое использует API карт Google для создания маркеров и его информационного окна в React.js. infowindow.setContent()
принимает только a String
или HTML
. Мне не удалось пройти в String
, поскольку у меня есть button
, который ссылается на конкретный метод в другом компоненте реакции (что-то вроде: _this.props.addList(place)
). Таким образом, я должен заполнить аргумент как HTML DOM как следующие строки кода:
var div = document.createElement('div');
var title = document.createElement('h4');
title.innerHTML = place.name;
var btn = document.createElement('button');
btn.className = 'btn btn-danger btn-block';
btn.appendChild(document.createTextNode('I want to go here !!'));
div.appendChild(title).appendChild(btn);
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent( div );
infowindow.open(map, this);
});
btn.addEventListener('click', function() {
_this.props.addList(place);
});