Google地图API热图不起作用

时间:2018-03-20 09:36:46

标签: javascript google-maps-api-3

我写了一个不使用ajax的演示只是使用固定数据来绘制使用相同的功能,它的工作原理。但在这里,我检查了mapData,map和heatmap的数据,它们与简单的演示看起来相同,但我的谷歌地图上没有出现热图。我不知道如何处理,请帮忙...

CODE SNIPPET

function buildMap(month, day) {
    var mapData = new Array();
    $.ajax({
        type: "GET",
        url: 'checkAccident.php',
        data: {
            "month": month,
            "day": day
        },
        dataType: 'json',
        success: function(result) {
            result = eval(result);
            for (var o in result) {
                var lat = result[o].LATITUDE;
                var lng = result[o].LONGITUDE;
                var latLng = new google.maps.LatLng(lat, lng);
                mapData.push(latLng);
            }

        },
        error: function(xhr, desc, err) {
            console.log(err);
        }
    });
    //console.log(mapData);
    var heatmap = new google.maps.visualization.HeatmapLayer({ //draw
        data: mapData,
        dissipating: false,
        radius: 50,
        map: map
    });
}

1 个答案:

答案 0 :(得分:0)

尝试移动此代码:

var heatmap = new google.maps.visualization.HeatmapLayer({ //draw
    data: mapData,
    dissipating: false,
    radius: 50,
    map: map
});
使用ajax请求的结果填充mapData数组后,

进入ajax成功回调。

当前设置代码的方式是,将空数组(mapData)传递给data选项对象的HeatmapLayer属性。您需要在从ajax请求收到数据后设置数据(该数据不是即时完成,而是将来的某个时间)。