0

可能重复:
在 Android 中获取用户当前位置的最简单、最可靠的方法是什么?

我研究了 android 的位置 api,并尝试了使用 locationChanged 方法的基本应用程序,并提供了一个最简单的解决方案来跟踪使用位置。

如何在同一上下文中跟踪用户的以下操作

  • 用户输入新位置
  • 离开当前位置的用户

以及以下因素:

  • 新位置不在旧位置的 x 米范围内
  • 以及比较上一个位置和新位置所需的属性
4

1 回答 1

0

这还不错。关于这件事的官方Android SDK其实还不错。关于它的官方谷歌文档

基本上,它使用的界面会在每种情况出现时运行功能。因此,只要位置根据触发该参数的任何参数发生更改,就会调用 onLocationChanged。另外,我建议只使用不同的提供商类型

最难的部分是距离部分。有公式可以使用经度和纬度计算距离。

从文档中:

// Acquire a reference to the system Location Manager
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

// Define a listener that responds to location updates
LocationListener locationListener = new LocationListener() {
    public void onLocationChanged(Location location) {
      // Called when a new location is found by the network location provider.
      makeUseOfNewLocation(location);
    }

    public void onStatusChanged(String provider, int status, Bundle extras) {}

    public void onProviderEnabled(String provider) {}

    public void onProviderDisabled(String provider) {}
  };

// Register the listener with the Location Manager to receive location updates
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
于 2012-11-20T19:17:49.697 回答