2017-05-16 39 views
-3

我正在开发和Android应用程序,其中一个用户可以通过谷歌地图实时跟踪其他用户的位置。我使用Parse作为后端来存储要跟踪的用户的lat long。我能够在实时经纬度变化时成功存储实时经纬度,但问题是我如何从每秒钟的解析中查询,或者何时数据在谷歌地图上解析和显示时发生变化。谷歌地图上的移动跟踪android应用

示例:我们有2个用户:user1和user2 - user1将其位置连续存储在Parse中。 - user2根据解析数据库中的经纬度来跟踪user1的位置,并显示在user2地图上。

注意:它与UBER中的相同我们可以跟踪汽车的运动。

保存到Parse的User1位置。

@Override 
public void onLocationChanged(Location location) { 
    Log.d(TAG, "Location Detected*****************"); 
    mLatLng = new LatLng(location.getLatitude(), location.getLongitude()); 
    mMap.moveCamera(CameraUpdateFactory.newLatLng(mLatLng)); 

    // Update Map 
    //updateCamera(); 
    updatePolyline(); 
    service.saveGeoPoints(String.valueOf(location.getLatitude()), String.valueOf(location.getLongitude())); 

} 

用户2显示在地图上

public ParseObject[] getGeoPoints(String followUser){ 
    final ParseObject[] result = new ParseObject[10]; 
    ParseQuery<ParseObject> query = ParseQuery.getQuery("LatLong"); 
    query.whereEqualTo("userId", followUser); 
    query.findInBackground(new FindCallback<ParseObject>() { 
     @Override 
     public void done(List<ParseObject> objects, ParseException e) { 
      if(e == null){ 
       Iterator itr = objects.iterator(); 
       int count =0; 
       while(itr.hasNext()){ 
        result[count++] = (ParseObject) itr.next(); 
       } 
      } 
     } 
    }); 
    return result; 
} 

user1的位置如何使它像听者

请帮助我如何做实现这一目标。如果您有其他更好的解决方案,请告诉我。谢谢

+0

显示一些代码。 –

回答

0

我不会延长如果你的问题得到的人的位置或使它不断,但我认为你的问题正在更新。尝试查看AsyncTank函数,您需要创建一个,以便每秒更新一次而不会崩溃应用程序。

采取看看here

+0

我正在使用Parse作为后端并将所有Lat Long存储在那里。所以我的问题是我如何能从Parse每秒请求位置馈送。有没有类似的东西?请求每秒都很好吗? – Sushil

0

使用mlocmanager

https://developer.android.com/reference/android/location/LocationManager.html

requestLocationUpdates(java.lang.String中,长,浮动,android.location.LocationListener)

mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mlocListener); 

这每秒都会发送一次feed,你也可以给距离

+0

我的问题是我使用Parse作为后端并将所有Lat Long存储在那里。所以我如何能从Parse请求位置馈送。有没有类似的东西?请求每秒都很好吗? – Sushil

+0

使用上面的代码保存您的位置提要解析。然后从解析中得到它。 –