<!-- begin snippet: js hide: false console: true babel: false -->
<script>
// initialize the map
var map = L.map('map').setView([25.037393872113785, 121.56372070312499], 12);
// load a tile layer
var baseLayer = L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
{
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
maxZoom: 17
}).addTo(map);
var Data =
var cfg = {
"radius": 0.03,
"maxOpacity": 0.5,
"scaleRadius": true,
"useLocalExtrema": true,
latField: 'lat',
lngField: 'lng',
valueField: 'count'
};
var heatmapLayer = new HeatmapOverlay(cfg).addTo(map);
heatmapLayer.setData(Data);
</script>
//javascript version = 1.7
var express = require('express');
var router = express.Router();
var r = require('rethinkdb');
var rethinkdbHost = "140.109.18.136";
var connection = null;
var waterfall = require('async-waterfall');
r.connect( {host: rethinkdbHost, port: 28015}, function(err, conn) {
if (err) throw err;
connection = conn;
r.db('AQI_inference').table('pm25_one_week')).run(connection, function(err, cursor) {
if (err) throw err;
cursor.toArray(function(err, result) {
if (err) throw err;
var cor = result.geometry.coordinates;
var t = result.properties.time;
var pm25 = result.properties.col;
console.log(cor, t, pm25);
router.get('/', function(req, res, next) {
res.render('mapTest', {cor: cor,time: t, pm25: pm25});
});
});
});
});
我刚学会了nodejs表达一周
我想制作一张带有空气质量标记的地图,现在遇到了一些问题,
我从rethinkDB获取数据,我只能使用&lt;%=%&gt;
访问数据如何在前端脚本部分使用变量cor,time和pm25?
我想在我的js代码中使用'var Data'中的cor。
有没有简单的方法可以做到这一点?
请帮帮我
答案 0 :(得分:0)
使用一些元素来存储数据元素。
<div id="script" data-time="<%= time %>" data-cor="<%= cor %>"></div>
在脚本标记中,您可以使用
进行访问var time = document.getElementById("script").getAttribute('data-time');
同样可以使用其他变量。
答案 1 :(得分:0)
在script标签中,可以将后端JS做成一个字符串,然后赋值给var。这就是我在下面所做的。
pygetwindow