mapbox - 如何使用 pubnub 跟踪多个设备?

标签 mapbox pubnub

    我正在使用 pubnub 的 eon-map 框架进行实时数据/标记更新,
就我而言,有多个团队,每个团队包含多个成员,每个成员在唯一的 channel 上发布他们的数据,例如:xyz-member.id
我想跟踪选定的成员并跟踪所有功能。

    我见过Realtime Flight Tracking Map但在该示例中,他们发布来自一个节点而不是多个节点的所有数据。

map 配置:

let pn = new PubNub({
  publishKey: 'key', 
  subscribeKey: 'key'  
});

let map = eon.map({
  pubnub: pn,
  id: 'tracking-map',
  mbToken: 'token',
  mbId: 'id',
  //channels array equal to members.length
  channels: ['xyz-member.id', 'xyz-member.id', 'xyz-member.id'], 
  message: (data, token, ch) => {
    map.setView(data[0].latlng, 15);
  }
});


发布示例:

pn.publish({
  channel: 'xyz-member.id', //each member create their own channel.
  message:  [
    {"latlng": [latitude, longitude]}
  ]
});

enter image description here

最佳答案

是的,您当然可以从多个节点发布。您的 EON map 只能订阅 1 个 channel 。您需要为每个成员发布到同一 channel 。该消息应包含 map 上每个信标的唯一 key 。

enter image description here

成员(member)A

pubnub.publish({
  channel: 'map',
  message: {
    point_1: {
      latlng: [37.370375, -97.756138]
    }
  }
});

成员(member)B

pubnub.publish({
  channel: 'map',
  message: {
    point_2: {
      latlng: [23.234, -94.32346]
    }
  }
});

EON map 订阅:

channels: ['map']

此场景Distributed.html的有用代码示例位于:https://github.com/pubnub/eon-map/tree/master/examples

关于mapbox - 如何使用 pubnub 跟踪多个设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49651547/

相关文章:

javascript - 为什么 WMS(网络 map 服务)请求以图 block 形式返回?

android - java.lang.NoClassDefFoundError:无法解决以下问题:Lcom/mapbox/android/telemetry/MapboxTelemetry;

pubnub - 我们可以通过电子邮件接收 pubnub 通知吗?

java - 执行我的 java 程序后,从 pubnub 获取正确的发布数据,但后来不正确

javascript - 如何使用 pubnub chatengine 添加私有(private)一对一聊天?

reactjs - react-map-gl <Map> 在调整窗口大小之前不是全屏

ios - Mapbox 注释层旋转在 map 缩放或移动时重置

ios - 解析 + PubNub : private chat

ios - PubNub 和多 View Controller

ios - 从 NSExpression 分配给 MGLStyleValue 的不兼容指针类型