我如何在OSM上绘制MongoDB的数据?

时间:2017-02-10 04:56:35

标签: javascript html angularjs node.js mongodb

存储在我的数据库"视频" "显示" mongodb中的集合为this。它有3个作为dose_rate,x,y的字段。

我的代码" app.js"如下:

var express=require('express');
var MongoClient=require('mongodb').MongoClient;
var engines=require('consolidate');
var assert=require('assert');
var app=express();

app.engine('html',engines.nunjucks);
app.set('view engine','html');
app.set('views',__dirname+ '/views');

MongoClient.connect('mongodb://localhost:27017/video',function(err,db){
assert.equal(null,err);
console.log("successfully connect to the MongoDB server");
app.get('/',function(req,res){
    db.collection('shows').find({}).toArray(function(err,docs){
        res.render('shows',{'shows':docs});
        });
      });
    });
 });

app.listen(4596,function(req,res){
console.log("connect to the port 4596");
});

以下代码适用于" shows.html" :

<!DOCTYPE html>
<html>
<head>
    <title>Plotting points</title>
</head>
<body>
    <ul class="nav navbar-nav">
        {%for show in shows%}
            <li>{{show.dose_rate}}</li>
            <li> {{show.x}}</li>
            <li>{{show.y}}</li>
        {%endfor%}
    </ul>
</body>
</html>

运行&#34; app.js&#34;的代码并打开&#34; shows.html&#34;从localhost上的浏览器,输出是我&#34;的所有点(即dose_rate,x,y)显示&#34;收集&#34;视频&#34;数据库在HTML页面上显示为this

现在我有了在OSM 独立上绘制单点(77.5,18.1025)的代码,如下所示:

<!DOCTYPE HTML>
<html> 
<head>
    <title>OpenLayers Simplest Example</title>
</head>
<body>
    <div id="Map" style="height:600px"></div>
    <script src="/home/padmesh/mean/osm sample/OpenLayers.js"></script>
    <script>
        var lat            = 77.5;
        var lon            = 18.1025;
        var zoom           = 10;

        var fromProjection = new OpenLayers.Projection("EPSG:4326"); //Transform from WGS 1984
        var toProjection   = new OpenLayers.Projection("EPSG:900913"); //to Spherical Mercator Projection
        var position       = new OpenLayers.LonLat(lat,lon).transform( fromProjection, toProjection);

        map = new OpenLayers.Map("Map");
        var mapnik         = new OpenLayers.Layer.OSM();
        map.addLayer(mapnik);

        var markers = new OpenLayers.Layer.Markers( "Markers" );
        map.addLayer(markers);
        markers.addMarker(new OpenLayers.Marker(position));

        map.setCenter(position, zoom);

    </script>
</body>
</html>  

我想绘制存储在我的收藏中的所有积分&#34; show&#34; as&#34; x&#34;和&#34; y&#34;从OSM地图上的那个db,一个接一个,一次。我试图找到所有这个问题的参考,但没有找到一个。请帮助我这样做,因为我是OSM和nodejs的新手,或发布我可以阅读或标记可以提供帮助的人的任何参考。谢谢你提前

0 个答案:

没有答案