异步加载GeoChart标记

时间:2016-04-14 18:16:46

标签: javascript google-visualization

我有一个GeoChart的Google Visualization。它加载标记并正确地着色/调整它们的大小。然而,似乎对地理编码"每个标记一次一个。这似乎会为每个标记生成一对请求,如此图所示。

enter image description here

我的问题是这很慢。我在这个页面上创建了两个图表。一个用于US区域,另一个用于CA区域。绘制可视化时,它似乎排队这些地理编码请求。这意味着美国地图(首先加载)将开始绘制标记,但在US完全完成之前CA不会。美国地图有413个标记要绘制,这需要时间。

为了加快速度或异步执行这些请求,我缺少什么?

目前,onLoad的回调触发器如下所示。在两者之间切换时,我在第二个图表上调用相同的函数。

function drawMarkersMap(region) {
        region = region || 'US';

        $.ajax({
            url: '/mapData/' + region
        }).success(function (response) {
            var data = google.visualization.arrayToDataTable(response);

            var options = {
                region: region,
                displayMode: 'markers',
                colorAxis: {colors: ['blue', 'red']},
                resolution: 'provinces'
            };

            var chart = new google.visualization.GeoChart(document.getElementById('chart_div_' + region.toLowerCase()));
            console.log('Drawing chart for ' + region + ' with ', data);
            chart.draw(data, options);
        });
    }

0 个答案:

没有答案