我試圖添加一個谷歌的可視化同步,但是我遇到了問題。我已經縮小到google.load導致問題。當js的google.load部分運行時,我得到一個空白的屏幕/ dom。任何人都知道我做錯了什麼。的google.load導致空DOM /屏幕
我使用google.setOnLoadCallback也試過,我得到了相同的結果。
任何幫助將是巨大的
相關代碼:
$(document).ready(function() {
google.load('visualization', '1', { 'packages': ['geomap'] }, { 'callback': drawVisualization });
function drawVisualization() {
$.ajax({
type: "POST",
data: "{'monitorId':'" + monitor + "','monitorName':'" + name + "','context':'" + context + "'}",
dataType: "json",
url: "WebService.asmx/LoadMonitorToolGeo",
contentType: "application/json; charset=utf-8",
processData: true,
success: function (msg) {
var obj = jQuery.parseJSON(msg.d);
// $(msg.d).hide().appendTo("#sortable").fadeIn();
$("#" + obj.context).find(".toolContent").hide().html(obj.data).fadeIn();
DrawWorldMap(obj.map, obj.context);
},
error: function (req, status, error) {
},
complete: function (req, status) {
}
});
function DrawWorldMap(response, id) {
var data = new google.visualization.DataTable();
data.addRows(response.d.length);
data.addColumn('string', 'Country');
data.addColumn('number', 'Popularity');
for (var i = 0; i < response.d.length; i++) {
data.setValue(i, 0, response.d[i].Country);
data.setValue(i, 1, response.d[i].Popularity);
}
var options = {};
options['dataMode'] = 'regions';
var container = document.getElementById(id);
var geomap = new google.visualization.GeoMap(container);
geomap.draw(data, options);
}
});
這個答案是正確的,避免不必要的超時。謝謝zanona! 也可以使用這樣的: 谷歌。load('visualization','1',{ packages:['corechart'], callback:initCharts }); – Dan 2013-01-14 17:16:09
謝謝你! – 2015-09-21 12:40:51