2 回答

TA貢獻1851條經驗 獲得超5個贊
最終使用下面的。再次感謝那些回答。
function clickLatLng() {
[...document.querySelectorAll('.boxed')].map((el, i) => {
el.addEventListener('click', () => {
map.panTo(markers[i].getPosition());
map.setZoom(8);
});
});
}
side_bar_html += '<div class="boxed">' + str + location + live + '</div>';
// put the assembled side_bar_html contents into the side_bar div
document.getElementById("side_bar").innerHTML = side_bar_html;
連同這個作為我的按鈕:
var location = '<button class="zoombtn" onclick="clickLatLng()"><i class="e70-5 x-icon" aria-hidden="true" data-x-icon-o="?"></i></button>'

TA貢獻1858條經驗 獲得超8個贊
你不能使用$('#find').eachas#find是一個 id。每頁只能為一個元素使用一個 id。假設您的按鈕索引與谷歌地圖標記正確相關,您可以使用以下代碼:
$('.boxed button').each(function(i,e) {
$(e).click(function(i,e) {
return function(e) {
google.maps.event.trigger(markers[i], 'click');
}
}(i));
});
在為每個按鈕分配數據屬性并使用它來選擇正確的標記時,您可能會得到更好的結果:<button data-id="someid"></button>
在您的每個函數中,您將選擇數據屬性:$(this).data("id")
添加回答
舉報