Javascript 将存储的值传递到多标记节点/Mongo/Express/EJS的谷歌地图

Javascript 将存储的值传递到多标记节点/Mongo/Express/EJS的谷歌地图,javascript,node.js,mongodb,google-maps,google-maps-api-3,Javascript,Node.js,Mongodb,Google Maps,Google Maps Api 3,我试图将mongodb中的值传递到GoogleMaps脚本中,以获得多个标记。地图加载了,但我找不到一种方法来定义我的客户,然后在这些位置循环。我在这里找到了一些答案,但由于我的经验水平是初学者,我觉得有些模糊。这是我的路线 router.get("/", function(req, res){ // Get all customers from DB Customer.find({}, function(err, customers){ if(err){ consol

我试图将mongodb中的值传递到GoogleMaps脚本中,以获得多个标记。地图加载了,但我找不到一种方法来定义我的客户,然后在这些位置循环。我在这里找到了一些答案,但由于我的经验水平是初学者,我觉得有些模糊。这是我的路线

router.get("/", function(req, res){
// Get all customers from DB
Customer.find({}, function(err, customers){

    if(err){
        console.log(err);
    } else {
        res.render("customers/index", {customers: customers});

        console.log(customers)
    }
});
这是谷歌地图脚本

<script>

function initialize() {
    var mapProp = {

        center: new google.maps.LatLng(39.9526, -75.1652),
        zoom:8,
        mapTypeId:google.maps.MapTypeId.ROADMAP
    };
    var map =new google.maps.Map(document.getElementById('map'),mapProp);
    var customers = [{customers: customers}];
    customers.forEach(function (customer) {
        var marker = new google.maps.Marker({
            position: new google.maps.LatLng(Number(customer.latitude), Number(customer.longitude)),
            map: map,
            title: "test"
        });
    });

}
google.maps.event.addDomListener(window, 'load', initialize);

函数初始化(){
var mapProp={
中心:新google.maps.LatLng(39.9526,-75.1652),
缩放:8,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById('map'),mapProp);
var客户=[{customers:customers}];
customers.forEach(功能(客户){
var marker=new google.maps.marker({
位置:新的google.maps.LatLng(编号(客户.纬度),编号(客户.经度)),
地图:地图,
标题:“测试”
});
});
}
google.maps.event.addDomListener(窗口“加载”,初始化);

我尝试过移动东西,但不断出现以下错误 未捕获的引用错误:客户未定义在客户:28

如何正确定义客户? 在这个问题上有任何帮助都会很棒。
提前感谢…

如果客户是一个阵列,则应使用该阵列。您确定客户包含阵列吗

我不知道您的数据集和al看起来像什么,但首先您应该检查它的数组,然后执行此操作

  var newAArray= []
  JSON.stringify(customers).foreach(customer){
   newAArray.push({location: newgoogle.maps.LatLng(customer.lat),customer.lon()
   }

谢谢,但是客户仍然没有定义。我正在返回一个我相信的对象{customers:customers}….这是从我路由中的console.log(customers)返回的。{id:58a1c5b10ca3e7229a52e79e,lng:-75.159444999999,lat:39.95261600001,地址:'1150费尔伯特街',城市:'费城',州:'宾夕法尼亚',邮编:'19107',},也许我把你的建议放错地方了?我应该把你的代码放在哪里?对不起,这里需要一些帮助!