我只是在这段代码上扯掉我的头发!我必须遗漏一些明显的东西。我声明了一个数组,它的类型返回“对象!”
代码如下:
var markers = new Array();
console.log(typeof markers);
d3.json(queryUrl, function(data) {
console.log(data.features)
data.features.forEach( function(each) {
let ball = each["geometry"]["coordinates"]
console.log(typeof markers)
markers.push(
L.marker([ball[1], ball[0]])
.bindPopup(`Magnitude: ${each["properties"]["mag"]}`);
)
});
});
markers = L.layerGroup(markers);
Run Code Online (Sandbox Code Playgroud)
在两者中console.log(typeof),它们都返回对象,并且该markers.push()行引发错误(这是首先提示检查类型的原因)
我的第一个下意识反应是最后一行是罪魁祸首,但我将第一行改为var test = new Array();,它做了同样的事情