Google maps api 3 动态加载google地图上的addDomlistener

Google maps api 3 动态加载google地图上的addDomlistener,google-maps-api-3,click,load,addeventlistener,Google Maps Api 3,Click,Load,Addeventlistener,我有一个按钮,可以在我正在创建的页面上切换图表。首先,我使用创建它,但是后来我发现除了预定义的位置之外,没有其他方法可以将它放置在自定义位置,所以我在网格中使用html/css重新创建了它 但是,当我使用.load()用新的集合替换地图画布和图表时,if-else语句将被忽略,只需单击一次鼠标,控制台日志就会写入:click2,click。地图没有调整大小,图表只是跳进跳出。我添加和删除的类也保持不变 var chartbtn = document.getElementById('chart-i

我有一个按钮,可以在我正在创建的页面上切换图表。首先,我使用创建它,但是后来我发现除了预定义的位置之外,没有其他方法可以将它放置在自定义位置,所以我在网格中使用html/css重新创建了它

但是,当我使用
.load()
用新的集合替换地图画布和图表时,if-else语句将被忽略,只需单击一次鼠标,控制台日志就会写入:click2,click。地图没有调整大小,图表只是跳进跳出。我添加和删除的类也保持不变

var chartbtn = document.getElementById('chart-id');
google.maps.event.addDomListener(chartbtn, 'click', function(event) {

if( $(chartbtn).hasClass('open') ) {
    $('.plot').animate({"bottom" : "-190px"}, 200);
    $('#map_canvas').height( winHeight - 40 + 'px');
    $(chartbtn).removeClass('open').addClass('closed');

    google.maps.event.trigger(map, 'resize');
    map.fitBounds(bounds);
    console.info('click');

} else {

    $('.plot').animate({"bottom" : "0px"}, 200);
    $('#map_canvas').height( winHeight - 230 + 'px');
    $(chartbtn).removeClass('closed').addClass('open');

    google.maps.event.trigger(map, 'resize');
    var newbounds = map.getBounds(); 
    map.fitBounds(newbounds);
    console.info('click2');
}
});
为什么新加载的地图(xml数据、标记、信息窗口等)的所有功能都能正常工作,而不是这个单击功能