Javascript 无法读取属性';纬度';未定义的

Javascript 无法读取属性';纬度';未定义的,javascript,node.js,google-maps,ejs,Javascript,Node.js,Google Maps,Ejs,我正在尝试将谷歌地图整合到一个我正在开发的网站上,需要以下方面的帮助。我试着用多种方法来解决它,但都做不到。我正在处理node.js,来自后端mongodb的数据作为“数据”呈现到前端,其中包含我需要的坐标。我试图通过使用for循环动态添加标记,这就是我遇到的问题。任何帮助都将不胜感激。 这是我第一次在这里提问。因此,请原谅我的情况下,有一个缺乏信息或错误 我的路线内的mongodb查询: app.get("/searchResult5",function(req, res) { var u

我正在尝试将谷歌地图整合到一个我正在开发的网站上,需要以下方面的帮助。我试着用多种方法来解决它,但都做不到。我正在处理node.js,来自后端mongodb的数据作为“数据”呈现到前端,其中包含我需要的坐标。我试图通过使用for循环动态添加标记,这就是我遇到的问题。任何帮助都将不胜感激。 这是我第一次在这里提问。因此,请原谅我的情况下,有一个缺乏信息或错误

我的路线内的mongodb查询:

app.get("/searchResult5",function(req, res) {
  var userInput1=req.query.column1;
  var userInput2=req.query.column2;
  var userInput3=req.query.column3;
  if(userInput1 ==="Column1"  ){    
    dataset5.find().sort({State : 'asc'}).exec(function(err,alldata){
      if(err){
        console.log(err);
      }else{
        //console.log(alldata);
        res.render("results/searchResult5",{data:alldata,});
      }
    });

  }   
}
// code for the map inside an ejs template//
function initMap() 
{
  var center = {lat: 37.0902, lng: -95.7129};
  var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 4,
    center: center
  });

  function addMarker(coords){
    var marker = new google.maps.Marker({
      position: coords,
      map: map,
    });
  }  
  for( var i=0; var i< <%=data.length%> ; i++){
    addMarker({lat:<%=data[i].lat%>,lng:<%=data[i].long%>});
  }
}
app.get(“/searchResult5”,函数(req,res){
var userInput1=req.query.column1;
var userInput2=req.query.column2;
var userInput3=req.query.column3;
如果(userInput1==“Column1”){
dataset5.find().sort({State:'asc'}).exec(函数(err,alldata){
如果(错误){
控制台日志(err);
}否则{
//console.log(alldata);
res.render(“results/searchResult5”,{data:alldata,});
}
});
}   
}
//ejs模板中的映射代码//
函数initMap()
{
var中心={lat:37.0902,lng:-95.7129};
var map=new google.maps.map(document.getElementById('map'){
缩放:4,
中心:中心
});
函数addMarker(coords){
var marker=new google.maps.marker({
职位:coords,
地图:地图,
});
}  
对于(变量i=0;变量i<;i++){
addMarker({lat:,lng:});
}
}
错误消息:

object output via console.log

1) console.log(<%=data%>)

2) console.log(<%=data[0]%>)
通过console.log输出对象
1) console.log()
2) console.log()


该模板来自何处?您还需要将代码与mongodb的查询和EJS页面的呈现功能一起发布。我怀疑问题在于您的查询返回的是类似数组的对象,而不是数组,您需要先显式地将其设置为数组。@DanielA.White:makechanges@ecg8:希望这能让事情变得容易些。再次为不一致的数据感到抱歉,正如我所说,这是我第一次在这里发布问题,请帮我一个忙。在“res.render(“results/searchResult5”,{data:alldata,});”行的正上方,添加“alldata=Array.from(alldata);”行,然后查看发生了什么。