2017-08-07 70 views
-2

我們正在IOS和Android上創建一個實時GPS跟蹤器應用程序。我們想從B的地圖上看到A的實時位置(就像UBER一樣,我可以看到駕駛員的位置)。我們現在可以獲取A的座標,但我們應該如何實時將它發送給B?我們還應該使用數據庫來獲取併發送座標嗎?或者有沒有辦法將座標從手機發送到手機?從手機發送地圖座標

回答

1

看起來你需要一個雙向數據通道或一個非常快速的非sql數據庫。

一,關於雙向數據通道。您可以使用socket.io,在那裏您有一個非常簡單的節點服務器來支持雙向數據通道。或者你可以使用WebRTC,它不是專門爲此目的而構建的,但你仍然可以利用數據通道來實現你的目標。但是,無論如何,它主要是使用UDP連接完成的,換句話說,這意味着它不可靠。你不能確保對方接收到座標。

另一方面,第二種解決方案,一個非常快速的無sql數據庫,可能會更好地與您的應用程序對齊。如果從頭開始構建服務器,則仍需要socket.io來監視數據庫中的更改並通知雙方(如果使用https請求,它甚至不會實時)。您可以讓它們更新座標,例如,像/root/geolocation/{room-hash}/coords之類的參考,並且雙方都使用socket.io連接監視同一個參考。

如果您不想從頭開始構建實時服務器,只想完成您的應用程序。你可以看看firebase,我認爲這是一個相當快的數據庫。您可以在android/ios代碼中使用firebase庫。如果您已經編寫了本機代碼並且不想更改它。使用Firebase雲端功能並使其成爲api呼叫。

0

您需要一個實時通信機制將A位置發送給B客戶端。像websocket(例如:socket.io)或某些消息協議(例如:MQTT.org)可以幫助您。