2017-04-05 2 views
0

같은 앱을 가지고있는 다른 사람의 위치를 ​​볼 수있는 앱을 만들고 있는데, 실시간으로 그의 움직임을 보여줄 것입니다. Firebase Realtime Database를 사용할 것입니다. 시작합니다. 그래서 앱은 해당 위치를 firebase 데이터베이스에 보내고 동일한 앱을 사용하는 다른 사용자는이 사용자를 추적하고 Google지도에서 자신의 위치를 ​​얻을 수 있습니다. 이에 대한 링크를 제공하거나 시작 단계를 제시하십시오.안드로이드 앱에서 Firebase Realtime Database를 사용하여 사람의 위치를 ​​추적하는 방법은 무엇입니까?

+0

[GeoFire] (https://github.com/firebase/geofire-java)를 보았습니까? –

답변

2

먼저 Google Play 서비스를 통해 위치 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; 
    } 
} 

는 그런 다음, 사용자의 위치에 액세스 할 수 이것에 대한 당신이 SyncAdapter, JobScheduler는, GCMTaskService는 등 그럼 당신은 이미 중포 기지를 설정 한 가정, 새로운 객체를 생성 사용하고 보낼 수 있습니다 그것까지 : 개체를 밀거나 setValue 등 사용 여부

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

당신의 중포 기지의 구조 방법을 결정하지만 중 하나를 사용자의 클래스의 위치를 ​​업데이트하거나 평평한 구조를 가지고있는 경우가되어야한다 사용자가 참조하는 위치, locat 업데이트하기 처음으로 위치를 밀고있는 경우 위치에 대한 사용자 참조가 업데이트되었는지 확인하십시오.

그런 다음 ChildEventListener 또는 더 자세하게는 ValueEventLister을 설정하여 위치 변경을 수신 대기 할 수 있습니다.

관련 문제