【发布时间】:2010-10-25 09:09:37
【问题描述】:
我正在使用定位服务来获取我所在位置的纬度和经度。运行我的程序时,它会给我错误的纬度和经度。我怎样才能准确地获取我当前的位置详细信息?手机/设备有设置吗?
String locationProvider = LocationManager.GPS_PROVIDER;
if(!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER )) {
locationProvider = LocationManager.NETWORK_PROVIDER;
}
Log.w(TAG,"CurrentLocProvider :"+locationProvider);
location=locationManager.getLastKnownLocation(locationProvider);
Log.i(TAG,"Location :"+location);
if(location!=null){
Log.i(TAG,"Location Lat :"+location.getLatitude());
latitude = Double.toString(location.getLatitude());
longitude = Double.toString(location.getLongitude());
txtView.append("\nLatitude : "+latitude+"\n Longitude : "+longitude);
}
一段时间后
public void onLocationChanged(Location location) {
Log.i(TAG,"Lat :"+location.getLatitude();
Log.i(TAG,"Long :"+location.getLongitude();
}
还给了我错误的位置。有时美国,在另一个设备中国。在不同的设备中它给出不同的结果? 怎样才能得到正确的结果?
谢谢, 啊。
【问题讨论】: