【发布时间】:2017-02-08 01:17:38
【问题描述】:
尝试使用 D3 在世界地图上映射推文,并首次使用 PubNub 获取实时数据流。设置时遇到问题并得到以下代码:
var margin = {top: 20, right: 20, bottom: 20, left: 20};
var w = 1100 - margin.left - margin.right,
h = 900 - margin.top - margin.bottom;
var svg = d3.select("#chart")
.append("svg")
.attr("width", w + margin.left + margin.right)
.attr("height", h + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
var geoData = "https://raw.githubusercontent.com/johan/world.geo.json/master/countries.geo.json";
d3.json(geoData, function(data){
var geo = data.features;
var projection = d3.geo.mercator()
.scale(150)
.translate([w/2,h/2]);
var path = d3.geo.path()
.projection(projection);
svg.selectAll("path")
.data(geo)
.enter()
.append("path")
.attr("fill", "#95E1D3")
.attr("stroke", "#34495e")
.attr("stroke-width", 0.5)
.attr("class", function(d){ return d.properties.name})
.attr("d", path);
var pubnub = new PubNub({
subscribeKey : "my key"
});
pubnub.subscribe({
channels: ['pubnub-twitter'],
withPresence: true
});
pubnub.addListener({
message: function(m) {
console.log(m);
},
presence: function(p){
console.log(p);
},
status: function(s){
console.log(s);
}
})
})
我希望它将消息打印到控制台,但没有任何反应。使用 PubNub v4。谁能帮帮我?
这是一个工作的 Codepen:
【问题讨论】:
-
参考链接:Tweet emotion: real-time Tweet analysis with PubNub Data Stream - 这是一个类似的项目。
-
是的,你是对的,这应该是
console.log()'ing。 -
提供了一个工作示例stackoverflow.com/a/42095828/524733 Twitter 推文提要。
标签: javascript api d3.js twitter pubnub