Sau một chút của nghiên cứu này là những gì tôi đã đưa ra:
public class UseGps extends Activity
{
Button gps_button;
TextView gps_text;
LocationManager mlocManager;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gps_button = (Button) findViewById(R.id.GPSButton);
gps_text = (TextView) findViewById(R.id.GPSText);
gps_button.setOnClickListener(new OnClickListener() {
public void onClick(View viewParam) {
gps_text.append("\n\nSearching for current location. Please hold...");
gps_button.setEnabled(false);
mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
}
});
}
/* Class My Location Listener */
public class MyLocationListener implements LocationListener
{
@Override
public void onLocationChanged(Location loc)
{
double lon = loc.getLatitude();
double lat = loc.getLongitude();
gps_text.append("\nLongitude: "+lon+" - Latitude: "+lat);
UseGps.this.mlocManager.removeUpdates(this);
gps_button.setEnabled(true);
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
}
này thiết lập một hoạt động với một nút và TextView. Đặt trình nghe trên nút khởi động trình quản lý vị trí.
Tôi đã thiết lập một lớp, MyLocationListener
, triển khai LocationListener
và sau đó tôi ghi đè phương thức onLocationChanged()
, về cơ bản cho biết vị trí đầu tiên được thêm vào văn bản và sau đó xóa trình quản lý vị trí.
Nhờ những người đã giúp và tôi hy vọng điều này sẽ được sử dụng cho người khác.
Nguồn
2010-08-07 10:46:35
ok, và tha thứ cho sự thiếu hiểu biết của tôi, nhưng lastKnownLocation dosnt ngụ ý vị trí hiện tại của tôi tại thời điểm này .. Tôi muốn ứng dụng truy cập vị trí của tôi ngay khi tôi nhấn nút, không thể biết vị trí cuối cùng đã xảy ra nửa giờ trước 2 dặm sao đường? –
sau đó onLocationChanged là cách tốt nhất để có được vị trí cập nhật nhất. – david
Nhưng đó là quan điểm của tôi, nếu tôi là văn phòng phẩm và muốn có được vị trí hiện tại của tôi thì sao? Có cách nào để khởi tạo vị trí của tôi, giả sử 0 0, sau đó sẽ kích hoạt thay đổi vị trí? –