1
這是我的位置類與此我獲取位置的經度和緯度,但我的問題是如果我更改我的當前位置的經度和緯度值不更新。
獲取當前位置經度和緯度在android
如果我將我家的位置存儲在我的設備中,那麼我的應用程序每次都會採用相同的經度和緯度值,但它並未取得我當前的位置詳細信息。例如:今天我在紐約,我推出了一個應用程序,位置是我的新澤西州的家。
public class GetLocation extends Activity {
protected LocationManager locationManager;
protected Button retrieveLocationButton;
Context mContext;
Double Longitude, Latitude;
String NetworkErrmsg = "", GpsErrmsg = "", ProviderErrmsg = "", NoNetworkmsg = "", GpsSuccesmsg = "", NetworkSuccesmsg = "";
public GetLocation(Context mContext) {
// TODO Auto-generated constructor stub
this.mContext = mContext;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void getLocationDetails() {
locationManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10, 100, new MyLocationListener());
boolean gps_enabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
boolean network_enabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
if (!gps_enabled) {
GpsErrmsg = "No Gps Connectivity";
} else {
showCurrentLocation(LocationManager.GPS_PROVIDER);
GpsSuccesmsg = "Gps Enabled";
}
if (network_enabled && !gps_enabled) {
showCurrentLocation(LocationManager.NETWORK_PROVIDER);
NetworkSuccesmsg = "Network Provider Enabled. Please Enable your GPS settings to get exact onaround you list";
}
if (!gps_enabled && !network_enabled) {
NoNetworkmsg = "Please Enable your Network/GPS settings to get onaround you list";
}
}
protected void showCurrentLocation(String provider) {
Location location = locationManager.getLastKnownLocation(provider);
if (location != null) {
Longitude = location.getLongitude
Latitude = location.getLatitude();
} else {
NoNetworkmsg = "Please Enable your Network/GPS settings to get onaround you list";
Longitude=null; Latitude=null;
}
}
private class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
System.out.println("Longitude " + location.getLongitude());
}
@Override
public void onStatusChanged(String s, int i, Bundle b) {
// Toast.makeText(GetLocation.this, "Provider status changed", Toast.LENGTH_LONG).show();
}
@Override
public void onProviderDisabled(String s) {
// Toast.makeText(GetLocation.this, "Provider disabled by the user. GPS turned off",Toast.LENGTH_LONG).show();
}
@Override
public void onProviderEnabled(String s) {
// Toast.makeText(GetLocation.this, "Provider enabled by the user. GPS turned on", Toast.LENGTH_LONG).show();
}
}
}
我想在我的位置類我不是onLocationChanged方法進行校驗位置..是我的錯?如果我在onlocaitonchanged方法中調用getLocationDetails()方法是否適用於我? – atluriajith 2012-07-09 05:35:15