gpt4 book ai didi

Android - 从 LocationClient 获取的位置不支持速度

转载 作者:搜寻专家 更新时间:2023-11-01 08:58:20 26 4
gpt4 key购买 nike

我正在使用新的 Google LocationClient 来检索地理位置。我需要获得每个点(位置)的速度。
我现在正在做的是:

if (mLocationClient == null) {
mLocationClient = new LocationClient(this, mLocationCallback, mLocationCallback);
mLocationCallback.setLocationClient(mLocationClient);
if (!(mLocationClient.isConnected() || mLocationClient.isConnecting())) {
mLocationClient.connect();
}
}

其中 mLocationCallback 是

的一个实例
public class LocationCallback implements ConnectionCallbacks,
OnConnectionFailedListener, LocationListener {}

在函数中,

    @Override
public void onLocationChanged(Location location) {
if (location == null) {
Log.e(TAG, "onLocationChanged: location == null");
return;
}

Log.i(TAG, "Location@ " + location.getLatitude() + ","
+ location.getLongitude() + ", Altitude: "
+ location.getAltitude() + "(" + location.hasAltitude()
+ ")" + " Velocity: " + location.getSpeed() + " m/s("
+ location.hasSpeed() + ")");
}
}

但是,每次 location.hasSpeed() 都会给出 false。似乎只有 GPS 提供商提供速度。我确定我的 GPS 已打开,但它可能永远不会被使用。有没有办法强制 LocationClient 使用 GPS 提供商?

最佳答案

Is there a way to force LocationClient to use GPS provider?

不,因为 LocationClient 的目的是混合来自多个来源(GPS、WiFi、手机信号塔、传感器等)的数据。

如果您需要速度,请使用 LocationManager 并使用 GPS_PROVIDER,或 Criteria 表示支持速度的任何其他内容(例如 Galileo,也许有一天)。

关于Android - 从 LocationClient 获取的位置不支持速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17239006/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com