在动态加载的谷歌地图上添加addDomlistener

时间:2013-08-17 21:20:19

标签: google-maps-api-3 click load addeventlistener

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

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

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数据,标记,infowindows等)但不是这个点击功能?

0 个答案:

没有答案