传单热图错误(动态经度和纬度)
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
格式不正确。您有一个包含单个对象的数组,其 lat
和 lng
属性是 lat
和 lng
的数组。您需要一个对象数组,每个对象的格式为:
[
{
lat: latitude_value,
lng: longitude_value,
count: count
},
{
lat,
lng,
count,
}
{ ... },
...
]
我不确定你的数据来自哪里,或者它的格式是什么,但你需要对其进行操作以将其转换为这种格式,以便热图正常工作。
我有一个二维数组位置,其中包含我想在热图中显示的纬度和经度。我从位置创建了 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
格式不正确。您有一个包含单个对象的数组,其 lat
和 lng
属性是 lat
和 lng
的数组。您需要一个对象数组,每个对象的格式为:
[
{
lat: latitude_value,
lng: longitude_value,
count: count
},
{
lat,
lng,
count,
}
{ ... },
...
]
我不确定你的数据来自哪里,或者它的格式是什么,但你需要对其进行操作以将其转换为这种格式,以便热图正常工作。