d3.js 地理热图(谷歌)与大数据

sdnqo3pr  于 2023-10-19  发布在  其他
关注(0)|答案(1)|浏览(108)

我想在谷歌Map中绘制一张热图来显示一个城市的出租车分布情况。
我得到了大约4000数据的出租车乘坐开始位置(纬度和经度)。
以下是我的一些脚本:
首先,我们来看看Google Map:

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);
});

标签:

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

我 *

有什么问题吗?是不是我得到的数据太接近了?
有没有更好的方法来绘制热图,以显示出租车的分布?谢谢

mgdq6dx1

mgdq6dx11#

你的JSON文件已经把纬度和经度作为字符串。Google的LatLng构造函数期望这些值是数字。试试这个,它将它们从字符串(如"22.37898")转换为浮点数(如22.37898

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

相关问题