是否可以使用PubNub进行类似uber的地图跟踪?

时间:2018-02-22 00:51:19

标签: geolocation tracking pubnub

我一直在尝试制作一个具有某种功能的网络应用,例如优步,用户可以在地图上看到其他用户。我读到了pubNub(https://www.pubnub.com/),我看到他们有一个教程,可以让你跟踪地图上的动作https://www.pubnub.com/tutorials/javascript/mapping-javascript-tracking/

他们还提供了一个名为“状态”(https://www.pubnub.com/products/presence/)的工具,可让您查看用户是否加入了您的网络会话。如果有人加入会议或离开会议,我希望在地图上显示。如果他们在地图上,我希望这些动作也会更新。

我只是想知道是否有人之前使用过pubNub来实现类似的东西,如果有的话怎么去呢?

1 个答案:

答案 0 :(得分:1)

使用PubNub和EON Maps克隆Uber

  

https://github.com/pubnub/pubnUber - GitHub存储库

PubNub Uber App

今天我们将使用Phonegap和PubNub创建一个简单的出租车应用程序。我们今天要走的是Uber,Gett和其他出租车应用程序使用的相同技术堆栈。它们都以类似的方式工作。

入门

  1. 在CLI上安装phonegap
  2. 在本地克隆此存储库。
  3. repo包含两个目录/rider/driver。我们将从/driver开始。
  4. 设置PubNub

    首先,我们需要设置PubNub。 PUBNUB变量可从EON库免费获取。 publish_keysubscribe_key设置来自您的PubNub account

    var channel = "pubnub-taxi-app";
    
    var pubnub = PUBNUB.init({
        publish_key: 'demo',
        subscribe_key: 'demo'
    });
    

    pubnub将我们在第一步中配置的pubnub变量插入到EON中。这让我们可以在EON中使用我们自己的PubNub密钥。

    我们设置了Mapbox配置,我们已准备好发送一些

    将消息发布到频道

    定义我们的PubNub频道。

    订阅

    pubnub.subscribe({
        channel: channel,
        message: function(message,env,channel){
    
            if(message == 'hail') {
    
                var pickup = confirm("Someone requested a ride!", "Accept");
    
                if(pickup) {
    
                    pubnub.publish({
                        channel: channel,
                        message: 'pickup'
                    });
    
                }
    
            }
        }    
    });
    

    这是hail()函数。

    var hail = function(argument) {
    
        pubnub.publish({
            channel: channel,
            message: 'hail'
        });
    
        alert('Waiting for driver...');
    
    };