update traduccion studio services google fused developer current android gps location location-client

traduccion - location tracking android developer



Android: las ubicaciones obtenidas de LocationClient no son compatibles con la velocidad (1)

¿Hay alguna manera de forzar a LocationClient a usar el proveedor de GPS?

No, porque el objetivo de LocationClient es combinar datos de múltiples fuentes (GPS, WiFi, torres de telefonía móvil, sensores, etc.).

Si necesita velocidad, use LocationManager y trabaje con GPS_PROVIDER , o cualquier otra cosa que Criteria diga que admite velocidad (por ejemplo, Galileo, algún día, tal vez).

Estoy usando el nuevo Google LocationClient para recuperar ubicaciones geográficas. Y necesito obtener velocidad para cada punto (ubicación).
Lo que estoy haciendo ahora es:

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

Donde mLocationCallback es una instancia de

public class LocationCallback implements ConnectionCallbacks, OnConnectionFailedListener, LocationListener {}

En la función,

@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() + ")"); } }

Sin embargo, cada vez que location.hasSpeed() da false . Parece que solo el proveedor de GPS da velocidad. Estoy seguro de que mi GPS está encendido, pero puede que nunca lo use. ¿Hay alguna manera de forzar a LocationClient a usar el proveedor de GPS?