Google maps 地理热图(谷歌)与大数据

Google maps 地理热图(谷歌)与大数据,google-maps,d3.js,google-maps-api-3,data-visualization,heatmap,Google Maps,D3.js,Google Maps Api 3,Data Visualization,Heatmap,我想在谷歌地图中绘制一张热图,以显示城市的出租车出行分布 我得到了大约4000个出租车起始位置(纬度和经度)的数据 以下是我的一些脚本: 首先,我设置了谷歌地图: var hongkong = new google.maps.LatLng(22.28552,114.15769 ); map = new google.maps.Map(document.getElementById('map'), { center: hongkong, zoom: 11, }); 然后,我从

我想在谷歌地图中绘制一张热图,以显示城市的出租车出行分布

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

以下是我的一些脚本:

首先,我设置了谷歌地图:

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文件已将纬度和经度作为字符串。谷歌的构造器希望这些值是数字。尝试此操作,将它们从
“22.37898”
之类的字符串转换为
22.37898

heatmapData.push(new google.maps.LatLng(
    parseFloat(val.fromLocation.lat), 
    parseFloat(val.fromLocation.lng))
);

data.json的内容是什么样子的?
{“fromLocation”:{“lat”:“22.37898”,“lng”:“114.108169”}
更改代码后,我收到错误消息:
Uncaught TypeError:无法读取未定义可视化的属性“NaN”\u impl.js:2
这是您的数据的问题。您的
中的
console.log(val)
是什么样子的。每个
循环看起来像什么?操作,问题解决了。我里面有一些空白数据。非常感谢你!