【发布时间】:2015-03-31 15:48:14
【问题描述】:
连接了,我可以得到坐标的经纬度,但是当我做下面的代码时,速度= 0,为什么不能从位置获取速度?
@Override
public void onLocationChanged(final Location location) {
Log.i("","geof is s onLocationChanged ENTERED");
if (LocationServices.FusedLocationApi.getLastLocation(mLocationClient) != null) {
locEnd = location;
Log.i("","geof is s speed of locend:" + location.getSpeed());
}
}
这将永远是我的回应:
03-31 17:43:57.227 31463-31463/nl.hgrams.passenger I/﹕ geof is s speed of locend:0.0
这是我的权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.LOCATION_HARDWARE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="nl.hgrams.passenger.C2D_MESSAGE" />
【问题讨论】:
-
你到底为什么在你的
onLocationChanged上使用getLastLocation,你已经有了给你的位置 -
对不起,我的错,我也编辑了代码,现在将检查
-
@tyczj 我的速度也是0.0,即使我直接取位置
-
位置对象没有速度是很正常的(也很常见),也就是在这种情况下它会返回 0.0。不知道你为什么需要它,但通常你应该适当地处理 0.0 的情况。
-
那么我需要发送到服务器0,如果我的位置是静止的,速度,如果是> 0,如果位置没有速度,那么我应该发送-1。
标签: android gps location location-client location-services