UNPUBLISH我試圖實現Pubnub - "Realtime Flight Tracking Map" examplePubnub - 如何從一個通道
誰能告訴我如何從一個通道取消發佈,然後在相應的標記應該從地圖上消失。 例如,在上面的鏈接中顯示的演示中,如果航班「66e234a」離線,則標記不應顯示在地圖中。
請幫我實現這個功能..
UNPUBLISH我試圖實現Pubnub - "Realtime Flight Tracking Map" examplePubnub - 如何從一個通道
誰能告訴我如何從一個通道取消發佈,然後在相應的標記應該從地圖上消失。 例如,在上面的鏈接中顯示的演示中,如果航班「66e234a」離線,則標記不應顯示在地圖中。
請幫我實現這個功能..
發佈後,您不希望取消發佈消息,只需向要發佈的數據添加狀態屬性,以便您可以決定根據航班狀態刪除,不呈現或更改標記。
該演示沒有演示該類型的功能。您有兩個來自PubNub端的選項。
PUBNUB.publish({
channel: 'sfo-flight-data',
message:
{
66e234a: {
latlng: [
37.6271,
-122.3858
],
data: [
"A33D8C",
37.6271,
-122.3858,
118,
0,
23,
"3765",
"F-KSJC3",
"DC10",
"N308FE",
1433383239,
"SFO",
"MEM",
"FX1345",
1,
0,
"FDX1345",
,0
"active" //ADDED
],
},
//...
}
});
,當接收到代碼呈現所述標記的消息。
var map = eon.map({
id: 'map',
mb_id: 'ianjennings.lec06po7',
mb_token: 'pk.eyJ1IjoiaWFuamVubmluZ3MiLCJhIjoiZExwb0p5WSJ9.XLi48h-NOyJOCJuu1-h-Jg',
channel: 'sfo-flight-data',
rotate: true,
history: true,
marker: function (latlng, data) {
if(data[15] !== 'active'){ //EVALUATED
return;
}
var marker = new L.RotatedMarker(latlng, {
icon: L.icon({
iconUrl: '/wp-content/uploads/2016/05/airplane.png',
iconSize: [24, 24]
})
});
var popup = '';
if(data[13]) {
popup = 'Flight ' + data[13] + '';
}
if(data[11]) {
if(!popup.length) {
popup = 'Flight from ' + data[11];
} else {
popup += ' from ' + data[11];
}
}
if(data[12]) {
if(!popup.length) {
popup = 'Flight to ' + data[12];
} else {
popup += ' to ' + data[12];
}
}
if(!popup.length) {
var popup = 'No data available';
}
marker.bindPopup(popup);
return marker;
}
});
總體思路是對飛行狀態的變化做出反應。
太棒了!謝謝 – Charu
請問,如果你設置飛行0.0
和0.0
工作?
66e234a: {
latlng: [
0.0,
0.0
]
但是能力unpublish
「從地圖移除標記」可以作爲一個功能要求的位置:https://github.com/pubnub/eon/issues/new - New Feature
「取消對地圖標記所有的能力。」現在您可以發佈LAT/LONG的0.0
,0.0
。
這可以作爲一個功能要求在這裏添加:https://github.com/pubnub/eon/issues/new - '新功能*「所有能夠刪除地圖上的標記」**。現在你可以發佈一個LAT/LONG的'0.0','0.0'。 – PubNub