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")
添加回答
举报