0

背景

我想创建一个跟踪应用程序。用户将能够选择一个点作为他​​们的目的地点。一旦用户点击开始按钮,应用程序将确定用户当前位置,并在用户刚刚选择的目的地结束。

问题

我设法在地图上放置了 2 个标记。一个作为目的地点,另一个是用户的当前位置。一旦用户移动,我在使当前位置标记移动时遇到问题。我的意思是,一旦用户开始移动,我希望标记在地图上移动。这意味着应用程序将检测用户位置,直到他们到达目的地。

代码

我目前正在使用该功能requestLocationUpdate。但问题是,我真的不知道那个功能如何。我看到的例子很少,但我不明白所有的例子。

这是我的 requestLocationUpdate 的样子:

public void locupdate() {
    locationManager = (LocationManager) mContext
            .getSystemService(LOCATION_SERVICE);
    Intent intent = new Intent(mContext, this.getClass());  
    PendingIntent pi = PendingIntent.getBroadcast(mContext, 0, intent,
                    PendingIntent.FLAG_UPDATE_CURRENT);
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 45000,5,pi);
}

这是我调用该方法的方式:

public void updateCurrentLocation(View v){
    gps.locupdate();
}

updateCurrentLocation 是一个 android:onClick 按钮。一旦用户按下按钮,应用程序将开始每 45 次更新一次位置。这正是我所期望的。如何将它实施到标记并让标记每 45 秒更改一次位置?我仍然感到困惑的另一件事是,该requestLocationUpdates方法如何真正起作用。

那么,这里的任何人都可以帮我解决这个问题吗?我是在正确的道路上还是应该使用其他方法。先感谢您。

4

1 回答 1

0
  private static final LocationRequest REQUEST = LocationRequest.create()
            .setInterval(45000)         // 45 seconds
            .setFastestInterval(16)    // 16ms = 60fps
            .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 

并实现接口LocationListener

@Override
public void onLocationChanged(Location loc) {
}
于 2013-11-08T14:28:48.900 回答