我本周决定学习Node.js(我不是程序员)。到目前为止,我很享受学习的过程,但现在卡住了。我使用Express创建了一个基本应用程序。假设我有一个路由/locations。我设置我的GET请求来呈现相关视图并查找(使用Mongoose的.find方法)所有位置模型中的文档。我知道我可以像这样将文档传递给视图:
我找到了标记变量的创建和设置位置,我可以循环遍历我的“docs”,并为每个存储在我的数据库中的位置创建并设置一个标记。话虽如此,我还是太新手了,似乎无法弄清楚如何做到这一点,因为头部的脚本无法访问我传递给视图的“docs”。有什么建议吗?提前感谢,非常感谢。
app.get('/locations', function(req, res) {
Location.find({}, function(err, docs) {
res.render('locations/index', {
title: 'Locations',
user: req.user,
docs: docs
});
});
});
例如,我可以通过以下方式在(Jade)视图中访问结果并进行列表:
if(docs.length)
each location in docs
p #{location.name} is at #{location.coordinates}
我想要将这些地点(每个“地点”都有存储的坐标)添加到谷歌地图中。我已经从 Google Maps API 文档中使用以下代码在视图上显示了一个例子地图。
function initialize() {
var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
var mapOptions = {
zoom: 4,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
}
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
title: "Hello World!"
});
marker.setMap(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
我找到了标记变量的创建和设置位置,我可以循环遍历我的“docs”,并为每个存储在我的数据库中的位置创建并设置一个标记。话虽如此,我还是太新手了,似乎无法弄清楚如何做到这一点,因为头部的脚本无法访问我传递给视图的“docs”。有什么建议吗?提前感谢,非常感谢。