Javascript 将存储的值传递到多标记节点/Mongo/Express/EJS的谷歌地图
我试图将mongodb中的值传递到GoogleMaps脚本中,以获得多个标记。地图加载了,但我找不到一种方法来定义我的客户,然后在这些位置循环。我在这里找到了一些答案,但由于我的经验水平是初学者,我觉得有些模糊。这是我的路线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
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',},也许我把你的建议放错地方了?我应该把你的代码放在哪里?对不起,这里需要一些帮助!