gpt4 book ai didi

javascript - 循环 JSON 对象并绘图到 map

转载 作者:行者123 更新时间:2023-12-03 12:18:23 28 4
gpt4 key购买 nike

我正在尝试循环返回的 JSON 对象并根据 x 和 y 坐标绘制热图。以下是我设置热图的方法:

function getHeatMap() {
heatLayer = new HeatmapLayer({
config: {
"useLocalMaximum": true,
"radius": 40,
"gradient": {
0.45: "rgb(000,000,255)",
0.55: "rgb(000,255,255)",
0.65: "rgb(000,255,000)",
0.95: "rgb(255,255,000)",
1.00: "rgb(255,000,000)"
}
},
"map": map,
"domNodeId": "heatLayer",
"opacity": 0.85
});

$.ajax({
url: "index.aspx/getBusCommuter",
type: "POST",
data: "",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var parsed = JSON.parse(data.d);
var data = [];
$.each(parsed, function (i, jsondata) {
var coordXicon = jsondata.BusStopX;
var coordYicon = jsondata.BusStopY;

data = [
{
attributes: {},
geometry: {
spatialReference: { wkid: 102100 },
type: "point",
x: coordXicon,
y: coordYicon
}
}
];
});
heatLayer.setData(data);
map.addLayer(heatLayer);
},
error: function (request, state, errors) {
}
});

}

基本上,JSON 对象只会循环到最后一组 JSON 对象,并仅绘制最后一组而不是全部。我想知道我的哪一部分逻辑是错误的。

提前致谢。

最佳答案

问题在这里:

data = [
{
attributes: {},
geometry: {
spatialReference: {
wkid: 102100
},
type: "point",
x: coordXicon,
y: coordYicon
}
}
];

当您可能只想将新元素推到末尾时,您正在为每个项目设置整个数据数组(覆盖所有旧数据)。试试这个:

data.push({ ... });

关于javascript - 循环 JSON 对象并绘图到 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24567538/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com