在仿真器和设备上都没有Lat / Long

时间:2011-04-27 06:19:04

标签: android

我完成了获取当前lat / long的代码,但我总是从lm.getLastKnownLocation(LocationManager.GPS_PROVIDER)获取null;方法

我尝试了两种方式。

代码如下。

第一种方式,

LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);

if(location != null)
{
    lat = location.getLatitude();
    lon = location.getLongitude();
}

和第二种方式,

LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

Log.d("GPS_PROVIDER","GPS_PROVIDER = " + lm.isProviderEnabled(LocationManager.GPS_PROVIDER));
Log.d("NW_PROVIDER","NW_PROVIDER = " + lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER));

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new LocationListenerAdapter()
{
   @Override
   public void onLocationChanged(Location location) 
  {
          if(location != null)
      {
        lat = location.getLatitude();
        lon = location.getLongitude();
      }
  }
});

LocationListenerAdapter类实现了LocationListener接口的方法,并且我将所有方法保持为空 即没有代码写入该方法。

我还使用gpx和kml文件进行模拟器更改lat / long但我还没有得到。 任何人都可以提供最佳答案。

提前致谢。

0 个答案:

没有答案