2
這是我的代碼。我試圖使用GPS獲取我的位置,它返回經度和緯度,但我要求返回的地址列表不會返回。我該怎麼辦 ?無法獲取可能在android位置使用GPS嗎?
有沒有人有一個最佳更新的方法在android來獲取我的位置使用GPS?
package com.locDetermine;
import java.io.IOException;
import java.util.List;
import java.util.Locale;
import android.app.Activity;
import android.content.Context;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;
public class LocDetermineActivity extends Activity implements LocationListener{
/** Called when the activity is first created. */
LocationManager locationManager = null;
Location location = null;
TextView tvLocation ;
Geocoder geo ;
//GeoPoint point ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tvLocation = (TextView) findViewById(R.id.tv_loc);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 100, 10, this);
}
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
double latitude = location.getLatitude();
double longitude = location.getLongitude();
geo = new Geocoder(getApplicationContext(), Locale.getDefault());
//tvLocation.setText("Location change : Latitude :"+latitude+"Longitude :"+longitude);
location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(location != null) {
Toast.makeText(getApplicationContext(), "Location found", Toast.LENGTH_LONG).show();
try {
List<Address> addresses = geo.getFromLocation(latitude, longitude, 5);
String add = "";
if(addresses.size() > 0) {
for(int i =0; i<addresses.get(0).getMaxAddressLineIndex(); i++)
add += addresses.get(0).getAddressLine(i);
}
tvLocation.append("\n"+add);
} catch (IOException e) {
Log.e("Where u !", "Didn't get it!",e);
}
}
else
Toast.makeText(getApplicationContext(), "Location not found", Toast.LENGTH_LONG).show();
}
@Override
public void onProviderDisabled(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
// TODO Auto-generated method stub
}
}
一些方法在這裏:http://stackoverflow.com/questions/1513485/how-do-i-get-the-current-gps-location-programmatically-in-android – nmagerko