具有特定半径的特定缩放时的热图渲染问题

Heatmap rendering issue at certain zoom with certain radius

使用 GoogleMaps API v3.19、3.20 或 3.exp,当我将半径设置为热图图层时,在某个缩放级别渲染消失并且 Chrome 的控制台给出一个错误 Uncaught TypeError: Cannot read property '84' of undefined,其中 '84' 有时因坐标不同而不同。此外,在远离应用热图的区域放大时,没有显示任何错误,尽管即使在更大的缩放下导航到该区域,我也遇到了完全相同的错误,并且图层就像 JPEG 伪影一样卡住了,这让我相信那里坐标有问题

放大和缩小不能解决问题。

关于这个问题有什么建议吗?任何已知错误?

更新(分享一些半径值变化的代码):

    // heatmarkers is an array of WeightedLocation
    heatmap = new google.maps.visualization.HeatmapLayer({
        data     : heatmarkers,
        radius   : 27
    });

    heatmap.setMap(myMap);

    google.maps.event.addListener(myMap, 'zoom_changed', function(){
        if (heatmap){
            var zoom = myMap.getZoom();

            if (zoom >= 14){
                heatmap.set('radius', 90);
            } else {
                heatmap.set('radius', zoom * 2);    
            }
        }
    });

我刚刚遇到了完全相同的问题,并通过减少热图数据坐标中的小数位数解决了这个问题,例如:

{
  "type": "Feature",
  "properties": {},
  "geometry": {
    "type": "Point",
    "coordinates": [
      6.76483154296875,
      51.226775403420554
    ]
  }
}

已更改为:

{
  "type": "Feature",
  "properties": {},
  "geometry": {
    "type": "Point",
    "coordinates": [
      6.7648315429,
      51.22677540342
    ]
  }
}

希望对您有所帮助!