小编ski*_*ree的帖子

向地图添加新标记时,传单抛出“未捕获的类型错误:无法读取未定义的属性 'lat'”

我正在尝试遍历ajax调用的结果,以便在点击时为传感器创建标记。现在,我只想在单击按钮时显示标记。这是行不通的。调试后,可能是时序/并发问题,但以前类似的问题使用window.SetTimeOut(). 这对我不起作用。我在下面包含此代码和错误消息的屏幕截图:

latlng 对象为空的传单屏幕截图

在此处输入图片说明

控制台中错误的屏幕截图

在此处输入图片说明

这是我的代码

function sensorLayer(response) {
  response.forEach(function(item) {
    if (item["Latitude"] !== null && item["Longitude"] !== null) {
      window.setTimeout(() => {
        var mark = new L.marker((parseFloat(item["Latitude"]), parseFloat(item["Longitude"])))
          .addTo(map);
      }, 100);
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

这是电话:

document.getElementById("sensorSwitch").addEventListener("click", function(){  $.ajax({  
url: ' ',//I deleted this
data: {
  db: ' ',
  q: "SELECT MEAN(\"pm2.5 (ug/m^3)\") from airQuality where time >='2017-09-06T00:00:00Z'"
},
success: function (response){
  console.log(response);  });  
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!它不会让我添加超过 2 个链接,否则我会包含一个我返回的数据示例(我认为过度共享并不在乎)。

javascript leaflet

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

javascript ×1

leaflet ×1