【问题标题】:Google heatmap not showing data points properly谷歌热图没有正确显示数据点
【发布时间】:2015-08-22 03:21:16
【问题描述】:

我在使用谷歌热图时遇到了一个奇怪的问题。热图随着热图数据中坐标数量的增加而显示较少的数据点。 对于 333 个坐标,热图显示如下数据点:

对于 9885 坐标:

如您所见,对于 333 个坐标,数据点比 9885 个坐标多。但它应该为大数据显示更多数据点。 我的代码:

var map = new google.maps.Map(document.getElementById('bcak_track_map'), {
    zoom:19,
    center:{lat:parseFloat(flat), lng:parseFloat(flon)},
    mapTypeId:google.maps.MapTypeId.SATELLITE
});
map.setTilt(45);

var heatMapBounds = new google.maps.LatLngBounds();

var markerCount = 0;
$.each(marker_points, function (key, val) {
    var myLatLon = new google.maps.LatLng(parseFloat(val.latitute), parseFloat(val.longtute));
    heatArr[markerCount] = {location: myLatLon, weight: 2};
    heatMapBounds.extend(myLatLon);
    markerCount++;
});

var sheatmap = new google.maps.visualization.HeatmapLayer({
    data:new google.maps.MVCArray(heatArr),
    radius:30
});
sheatmap.setMap(map);
map.fitBounds(heatMapBounds);
bounds = new google.maps.LatLngBounds(null);

数据进入marker_points

 [
 Object { latitute="33.65112310998252",  longtute="-117.98994390000001"},
 Object { latitute="33.650867",  longtute="-117.990379"}, 
 Object { latitute="33.650867",  longtute="-117.990379"}, 
 Object { latitute="33.650855606216076",  longtute="-117.99054136256564"}, 
 Object { latitute="33.650867",  longtute="-117.990379"}, 
 Object { latitute="33.651302292183665",  longtute="-117.99096972341766"}, 
 Object { latitute="33.65106477008209",  longtute="-117.99117056945039"}
 ......
]

谁能帮我显示热图正确的数据点?

【问题讨论】:

  • 数据是什么样的?请提供一个Minimal, Complete, Tested and Readable example 来说明问题在问题本身(如果可能)。
  • 是的,与点数相比,marker_points 提供的数据听起来更有可能是个问题
  • @ducan 数据是使用 ajax 为不同的日期范围正确提供的。我可以在 firebug 控制台中看到。每次坐标增加时,热图上的数据就会减少。
  • 没有关系。热图上的坐标和数据点的数量是相反的。因为更多的坐标代表热图上的更少数据。

标签: google-maps google-maps-api-3 pheatmap


【解决方案1】:

dissipating:true 和 maxIntensity:10 解决了我的问题。谢谢大家帮忙。

【讨论】:

    【解决方案2】:

    如果其他规模较大的人可能会遇到这种情况,我有一个类似的案例,具有以下特点:

    1. 大约有 30K 点
    2. 在像墨西哥这样的大国。

    消散:真,最大强度:1,半径:10

    与: 我为每个点添加了 2 的权重。 (您可以使用 Google 热图做到这一点)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-09
      • 1970-01-01
      • 1970-01-01
      • 2015-12-07
      • 1970-01-01
      相关资源
      最近更新 更多