簡體   English   中英

如何在我的android應用中使用Firebase實時數據庫來跟蹤人員的位置?

[英]How do I use Firebase Realtime Database in my android app to track the location of a person?

我正在開發一個應用程序,在該應用程序中我可以查看具有相同應用程序的另一個人的位置,並且可以實時顯示他的動作。我將使用Firebase Realtime Database,但我不知道該如何獲取因此,該應用會將其位置發送到Firebase數據庫,並且使用同一應用的其他用戶將能夠跟蹤該用戶並在Google地圖中獲取其位置。 請提供與此相關的任何鏈接或顯示入門步驟。

您必須首先通過Google Play服務實現locations api,以獲取用戶的位置。 請注意,完成此操作的其余部分取決於Firebase的結構。 該位置可能只是用戶對象中的緯度變量,因此您可能只是在更新用戶對象中的子值。 在不知道您的結構的情況下,我只能給出一個大致的想法。 假設您有一個與用戶相關聯的位置對象。 然后,您可以設置具有位置相關變量的各種位置類。 就像是:

public class MyLocation {
    public double lat;
    public double lon;
    public String nameOfPlace;

    public MyLocation(double lat, double lon, String name){
        this.lat = lat;
        this.lon = lon;
        nameofPlace = name;
    }
}

然后,您可以隨時訪問用戶位置,為此,您可以使用SyncAdapterJobSchedulerGCMTaskService等。然后,假設您已經設置了Firebase,請創建一個新對象並將其發送:

MyLocation myLocation = new MyLocation(latFromApi, lonFromApi, name);

Firebase的結構決定了您是推對象還是使用setValue等。但是,您應該更新用戶類中的位置,或者是否具有扁平結構並具有用戶可以引用的位置,更新位置,並且如果您是首次推送該位置,請確保用戶對該位置的引用也已更新。

之后,你可以設置一個ChildEventListener ,或者更可能的是,一個ValueEventLister偵聽更改的位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM