我想在运行其余的javascript之前加载我的谷歌图表。
$(document).ready(function() {
google.charts.load("current", {packages:["corechart"]});
我最初使用此代码以便为图表加载留出一些时间,但有时图表需要的时间比预期的要长,而且我的代码会中断。我可以使用javascript中的初始化函数吗?
setTimeout(function() {
map.setView([gon.locations[3].latitude, gon.locations[3].longitude - .01],15);
if(typeof lastMarker !== "undefined")
map.removeLayer(lastMarker);
$('progress').animate({value: gon.locations[3].overall_vulnerability}, {duration: 1000});
$('#vul').html(gon.locations[3].overall_vulnerability);
var markers = L.mapbox.featureLayer().setGeoJSON(getData(gon.locations[3])).addTo(map);
google.charts.setOnLoadCallback(drawChart(gon.locations[3]));
openNav();
lastMarker = markers;
}, 1500);
答案 0 :(得分:3)
这就是setOnLoadCallback()
函数的用途 - 它在加载完成时运行。
google.charts.load("current", {packages:["corechart"]});
google.charts.setOnLoadCallback(function() {
// Everything you want to happen after loading goes here
});
在使用google.charts.load加载的任何软件包之前,您必须等待加载完成。仅等待文档完成加载是不够的。由于加载完成可能需要一些时间,因此您需要注册一个回调函数。
答案 1 :(得分:0)
您还可以在callback
声明中添加load
...
google.charts.load("current", {
callback: function () {
// google.charts and google.visualization now available
},
packages:["corechart"]
});