大数据地理热图(google)

Geo heat map(google) with large data

我想在google地图中绘制热图以显示出租车行程一个城市的分布

我得到了大约 4000 条出租车起始位置(纬度和经度)的数据

这是我的一些脚本:

首先我设置了 google 地图:

var hongkong = new google.maps.LatLng(22.28552,114.15769 );

map = new google.maps.Map(document.getElementById('map'), {
    center: hongkong,
    zoom: 11,
 });

然后,我从 JSON 文件中读取数据并制作热图:

jQuery.getJSON("data.json", function(data) {
    var heatmapData = [];
    jQuery.each(data, function(key, val) {
          heatmapData.push(new google.maps.LatLng(val.fromLocation.lat, val.fromLocation.lng));
    });

    var heatmap = new google.maps.visualization.HeatmapLayer({
          data: heatmapData
    });
    heatmap.setMap(map);
});

我得到了什么:

你什么也看不见。然后我缩小,我得到:

预期是这样的:

有什么问题?是不是我得到的数据太接近了?

有没有更好的方法绘制热图来显示出租车的分布?谢谢。

您的 JSON 文件已将纬度和经度作为字符串。 Google 的 LatLng 构造函数期望这些值是数字。试试这个,它将它们从 "22.37898" 之类的字符串转换为 22.37898

这样的浮点数
heatmapData.push(new google.maps.LatLng(
    parseFloat(val.fromLocation.lat), 
    parseFloat(val.fromLocation.lng))
);