Javascript Pubnub-如何从频道取消发布

Javascript Pubnub-如何从频道取消发布,javascript,pubnub,Javascript,Pubnub,我试着实现Pubnub- 谁能告诉我如何从一个频道取消发布,然后相应的标记应该从地图上消失。 例如,在上面链接中显示的演示中,如果航班“66e234a”脱机,则地图中不应显示is标记 请帮助我实现此功能。取消发布并删除标记 如果您将flight设置为0.0和0.0,它是否有效 66e234a: { latlng: [ 0.0, 0.0 ] 但是,可以在此处将取消发布的功能“从地图上删除标记”添加为功能请求:-新功能“在地图上删除标

我试着实现Pubnub-

谁能告诉我如何从一个频道取消发布,然后相应的标记应该从地图上消失。 例如,在上面链接中显示的演示中,如果航班“66e234a”脱机,则地图中不应显示is标记

请帮助我实现此功能。

取消发布并删除标记 如果您将flight设置为
0.0
0.0
,它是否有效

66e234a: {
       latlng: [
         0.0,
         0.0
       ]

但是,可以在此处将取消发布的功能“从地图上删除标记”添加为功能请求:-
新功能
“在地图上删除标记的所有功能”。现在,您可以发布一个LAT/LONG的
0.0
0.0
,一旦发布,您就不想取消发布消息,只需在发布的数据中添加一个status属性,这样您就可以根据航班状态决定删除、不渲染或更改标记

演示没有演示这种类型的功能。在PubNub端有两个选项

  • 在有效载荷中添加一个属性,指示飞行的当前状态。这样,您可以移动标记,或根据航班状态移除标记。在右侧的“代码”面板上
  • publish.publish({
    频道:“sfo飞行数据”,
    信息:
    {
    66e234a:{
    板条:[
    37.6271,
    -122.3858
    ],
    数据:[
    “A33D8C”,
    37.6271,
    -122.3858,
    118,
    0,
    23,
    "3765",
    “F-KSJC3”,
    “DC10”,
    “N308FE”,
    1433383239,
    “证券及期货条例”,
    “MEM”,
    “FX1345”,
    1.
    0,
    “FDX1345”,
    ,0
    “活动”//已添加
    ],
    },
    //...
    }
    });
    
    左边是接收到消息时呈现标记的代码

    var-map=eon.map({
    id:'地图',
    mb_id:'ianjennings.lec06po7',
    mb_标记:“pk.eyJ1IjoiaWFuamVubmluZ3MiLCJhIjoiZExwb0p5WSJ9.XLi48h-NOyJOCJuu1-h-Jg”,
    频道:“sfo飞行数据”,
    是的,
    历史:没错,
    标记器:功能(车床、数据){
    如果(数据[15]!=='active'){//已计算
    返回;
    }
    var标记=新的L.旋转标记器(板条{
    图标:L.icon({
    iconUrl:“/wp content/uploads/2016/05/planet.png”,
    iconSize:[24,24]
    })
    });
    var弹出窗口=“”;
    如果(数据[13]){
    弹出窗口='航班'+数据[13]+'';
    }
    如果(数据[11]){
    如果(!popup.length){
    弹出窗口='航班从'+数据[11];
    }否则{
    弹出+='来自'+数据[11];
    }
    }
    如果(数据[12]){
    如果(!popup.length){
    弹出窗口='飞行到'+数据[12];
    }否则{
    弹出+='至'+数据[12];
    }
    }
    如果(!popup.length){
    var popup='无可用数据';
    }
    marker.bindpoop(弹出窗口);
    返回标记;
    }
    });
    

    总的想法是对飞行状态的变化做出反应

    这可以作为功能请求添加到此处:-
    新功能
    “删除地图上标记的所有功能”。现在你可以发布一个LAT/LONG的
    0.0
    0.0