Google maps 地理热图(谷歌)与大数据
我想在谷歌地图中绘制一张热图,以显示城市的出租车出行分布 我得到了大约4000个出租车起始位置(纬度和经度)的数据 以下是我的一些脚本: 首先,我设置了谷歌地图: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, }); 然后,我从
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)
是什么样子的。每个循环看起来像什么?操作,问题解决了。我里面有一些空白数据。非常感谢你!