当前位置: 首页 > 面试题库 >

如何使用Node.js / Express / MongoDB将标记添加到Google Maps?

万俟嘉珍
2023-03-14
问题内容

我本周决定要学习Node.js(我不是程序员)。到目前为止,我一直在享受它的乐趣,但此刻我被困住了。

我已经使用Express创建了一个基本应用。假设我有一条路线/位置。我设置了我的get请求,以渲染相关视图并查找(使用Mongoose的.find方法)位置模型中的所有文档。我知道我可以像这样将文档传递给视图:

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
Map。我有一个示例地图,该示例使用顶部的以下脚本显示在视图上,该脚本取自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);

我确定了标记变量的创建位置,然后进行设置。我可以遍历“文档”,并为数据库中存储的每个位置创建和设置标记。就是说,我对此还太陌生,而且由于头中的脚本无法访问传递给视图的“文档”,因此我似乎无法弄清楚该如何做。

有什么建议吗?在此先感谢您,非常感谢。


问题答案:

JSON.stringify()认为我的客户端脚本需要的任何对象,并插入它作为HTML5 data-whatever属性。

例如:

//app.js
app.get('/map', function(req, res){
  var data = {
    id: '1234',
    LL: {
      lat: 42.1,
      lng: 80.8,
  };
  res.locals.docsJSON = JSON.stringify([data]);
  res.render('locations/index');
});

//jade
!!!
html
  body(data-locations=locals.docsJSON)
  script
    var docs = JSON.parse($('body').attr('data-locations'));
    console.log(docs[0].LL);


 类似资料:
  • 我想使用XSL编码在XML开始时添加样式表标记 输入XML:

  • 问题内容: 使用微数据,是否可以通过使用meta标签将图像添加到事件中? 在官方的Microdata网站上,我看到了将图像添加到事件的选项: 效果很好。但是,我想知道是否可以使用类似的方法添加该图像: 根据我的测试,这不起作用。 问题答案: 必须使用元素(因为该值为URI),而不是使用元素: 这是通过HTML5需要(粗体重点煤矿): 该元素表示各种元数据的 不能使用[…]表示[…]的元素。

  • 问题内容: 我有许多这些“控制器”: 通知res.render?我想将此标头添加到我创建的每个响应标头中: 如何自动添加该响应标头? 问题答案: 只要确保这是您添加的第一个控制器,顺序就很重要。

  • 问题内容: 我想知道如何将元数据添加到nodejs grpc函数调用中。在与客户建立联系时,我可以使用渠道凭证 使用时会发送哪些信息,但是go grpc服务器会在调用元数据中查找我必须设置的标识信息。我尝试使用不安全的连接和实例,但找不到正确的方法。 我遇到的错误是。我试图遵循它,但是它陷入了使我迷失的C代码中,我看不到要实现我想要的功能我必须提供什么javascript类型,并且文档对实现该目标

  • 问题内容: 我正在尝试使用node.js制作Samsung Smart TV应用程序。 在我的项目中,我想使我的应用程序与服务器PC通信。 根据许多网站,我可以使用“ jsonp”来做到这一点。 这是我发现的客户端代码。 而且,这是我发现的服务器端代码。 这些代码在我的PC(服务器PC)上正常工作,但是当我在其他计算机上打开客户端页面时,它不起作用。 控制台只给我这个日志: 我想使用jsonp处理