我完成了获取当前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但我还没有得到。 任何人都可以提供最佳答案。
提前致谢。