2016-08-04 19 views
1

から非公開に私はPubnubを実装しようとした - "Realtime Flight Tracking Map" examplePubnub - どのチャンネル

誰がどのチャネルから非公開にしてから、対応するマーカーがマップから消えなければならない私に教えてくださいすることができます。 たとえば、上記のリンクに表示されているデモでは、「66e234a」のフライトがオフラインになると、マーカーは地図に表示されません。あなたは0.00.0行きの航空券を設定している場合

..私は、この機能の実装を支援

+0

https://github.com/pubnub/eon/issues/new - '新機能' ** "マップ上のマーカーを削除するすべての機能" **これは機能のリクエストとしてここに追加することができます。今のところ、 '0.0'、' 0.0'のLAT/LONGを投稿することができます。 – PubNub

答えて

1

公開した後は、公開中のデータにステータス属性を追加するだけで、飛行ステータスに基づいてマーカーの削除、レンダリングまたは変更を行うことができます。

デモでは、その種類の機能を実証していません。あなたはPubNub側から2つのオプションがあります。

  1. フライトの現在の状態を示す属性をペイロードに追加します。この方法でマーカーの移動や、飛行の状態に応じてマーカーを削除することができます。左側の右側コードパネルの
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; 
    } 
}); 

一般的な考え方は、フライトの変化する状態に反応することです。

+0

それは素晴らしいです!ありがとう – Charu

0

非公開とマーカー

を削除してくださいそれが動作しますか?

66e234a: { 
     latlng: [ 
     0.0, 
     0.0 
     ] 

しかしunpublishする機能「マップからマーカーを削除するには、」ここで機能要求として追加することができます。https://github.com/pubnub/eon/issues/newからNew Feature「地図上のマーカーを除去するためのすべての機能」。今のところ、0.00.0のLAT/LONGを投稿できます。

関連する問題