【发布时间】:2013-12-09 09:16:48
【问题描述】:
我正在编写此代码,以使用我的经度和纬度获取您当前位置的城市名称。
这是我正在编写的代码:
protected String currentLatitude, currentLongitude;
double lat, lon;
protected LocationManager locationManager;
private LocationListener ll;
locationManager = (LocationManager) getSystemService(
Context.LOCATION_SERVICE);
if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
Toast.makeText(this,
"GPS enabled. Finding fine location. ",
Toast.LENGTH_SHORT).show();
ll = new GpsListener();
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 0, 0, ll);
} else {
if (locationManager
.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
Toast.makeText(this,
"GPS disabled. Finding coarse location.",
Toast.LENGTH_SHORT).show();
ll = new GpsListener();
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, 0, 0, ll);
} else {
Toast.makeText(this,
"Enable location settings to get current location.",
Toast.LENGTH_LONG).show();
}
}
private class GpsListener implements LocationListener {
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
if (location != null) {
try {
Toast.makeText(getApplicationContext(), "Location Found",
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
}
lat = location.getLatitude();
lon = location.getLongitude();
currentLatitude = Double.toString(lat);
currentLongitude = Double.toString(lon);
try {
if (ll != null)
locationManager.removeUpdates(ll);
} catch (Exception e) {
}
locationManager = null;
} else {
Toast.makeText(getApplicationContext(), "No Location Found",
Toast.LENGTH_LONG).show();
}
}
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}// end of Class
我不知道如何从经度、纬度中获取城市名称。
我尝试这样做,但地址为 NULL。
【问题讨论】: