传单热图错误(动态经度和纬度)

Leaflet Heatmap Error ( Dynamic longitudes and latitudes)

我有一个二维数组位置,其中包含我想在热图中显示的纬度和经度。我从位置创建了 2 个额外的数组:

for(var i=0;i<location.length;i++){
  lat_array=location[i][0]
  long_array=location[i][1]
};

let testData = {
  max: 8,
  data: [{lat:lat_array, lng:long_array, count:8}]
}; //Count is random
     
let cfg={
  "radius": 40,
  "maxOpacity": 0.8,
  "scaleRadius": false,
  "useLocalExtrema": false,
  latField: 'lat',
  lngField:'lng',
  valueField:'count'
};

let heatmapLayer =  new HeatmapOverlay(cfg);

mymap.addLayer(heatmapLayer);
heatmapLayer.setData(testData);

当我 运行 页面时,我收到一条错误消息,指出经度和纬度不能是数组,我尝试 运行 使用特定值 (lat_array[1] ,long_array[1]) 并且有效。所以我想弄清楚如何在位置数组中添加所有的纬度和经度,它的值每次都不同。

您的 data 格式不正确。您有一个包含单个对象的数组,其 latlng 属性是 latlng 的数组。您需要一个对象数组,每个对象的格式为:

[
  {
    lat: latitude_value,
    lng: longitude_value,
    count: count
  },
  {
    lat,
    lng,
    count,
  }
  { ... },
  ...
]

我不确定你的数据来自哪里,或者它的格式是什么,但你需要对其进行操作以将其转换为这种格式,以便热图正常工作。