我正在尝试添加一个谷歌可视化异步,但我遇到了问题。我已将其范围缩小到导致问题的 google.load。当 google.load 部分 js 运行时,我得到一个空的屏幕/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);
}
});