无法读取未定义

时间:2018-04-22 01:14:07

标签: javascript node.js google-maps ejs

我正在尝试将谷歌地图纳入我正在开发的网站,并需要以下方面的帮助。我试过以多种方式解决它,但不能。我正在研究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%>});
  }
}

错误讯息:

object output via console.log

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

2) console.log(<%=data[0]%>)

error message

data output

0 个答案:

没有答案