获取上一个位置的经度和纬度
问题描述:
这是我的代码。获取上一个位置的经度和纬度
public class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {
Location location = getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
LastLocationLat = location.getLatitude();
LastLocationLongi = location.getLongitude();
LocationLat = loc.getLatitude();
LocationLongi = loc.getLongitude();
if(loc.hasSpeed()) {
float mySpeed = loc.getSpeed();
Toast.makeText(getApplicationContext(), ""+mySpeed, 2000).show();
}
}
@Override
public void onProviderDisabled(String provider) {
Toast.makeText(getApplicationContext(), "Gps Disabled", Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderEnabled(String provider) {
Toast.makeText(getApplicationContext(), "Gps Enabled", Toast.LENGTH_SHORT).show();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
Toast.makeText(getApplicationContext(), "Gps onStatusChanged", Toast.LENGTH_SHORT).show();
}
}
,但我没有得到这个代码的最后一个位置,我得到相同的纬度和经度
答
您正在使用LocationManager.NETWORK_PROVIDER得到的位置。你的代码意味着你想要GPS(“Gps Disabled”)?在这种情况下,您应该使用LocationManager.GPS_PROVIDER。
LocationManager.NETWORK_PROVIDER不是很准确(几百米,如果锁定到蜂窝塔),所以如果移动不到百米,你可能无法检测到的位置变化。
另一方面,GPS通常在室内或高楼间不可用。此外,GPS使用的功率,所以不应该一直使用(当应用程序在后台)。
阅读Obtaining User Location,对于与问候精确度和服务的可用性得到位置的最佳方法。
我也用这个,但同样的问题 – moon 2011-05-11 12:18:09
你的目标是功能是什么? – necixy 2011-05-11 12:22:22