2016-03-13 64 views
1

我正在開發一個Android應用程序,我需要實時共享位置。我有MySql作爲服務器來存儲用戶的位置。我需要從服務器獲取位置並在Google地圖上進行更新。我可以通過簡單地調用Web服務來存儲和檢索定時器任務的位置。但是這會導致電池快速耗盡,並且這不會實時發生。我想實時做所有這些,如果用戶正在移動,我想在地圖上移動標記。請幫助我,我會非常感激。谷歌地圖從服務器實時位置更新

+0

當位置發生變化時,使用'GCM'發送來自服務器的通知,並在android端更新用戶在地圖上的位置..無需使用計時器任務。 – ELITE

回答

1

我認爲你需要使用websockets。您還可以使用GCM將位置推送到應用程序。如果您更多地瞭解您在服務器端使用的技術,我們將能夠告訴更多。希望這可以幫助。

1

websockets和GCM都可能無法工作。 無論何時您需要從服務器推送實時流式更新,您需要與服務器建立TCP通道連接,這就是旅行服務超級或ola的工作原理。

檢查如何設置一個TCP服務器套接字

1

如果你想獲得更準確的位置數據,而無需使用GPS。相反,該服務會嘗試通過查看您周圍的手機信號塔和WiFi接入點來對您的位置進行三角測量。然後使用Google Maps Geolocation API.此服務旨在節省電池使用時間,並使GPS在室內無法正常工作。

您還可以檢查此SO question的另一個解決方案。