Android GPS获取地理位置

import android.app.Activity;  
import android.content.Context;  
import android.location.Criteria;  
import android.location.Location;  
import android.location.LocationListener;  
import android.location.LocationManager;  
import android.os.Bundle;  
import android.widget.TextView;  
 
public class CurrentLocation extends Activity {  
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        LocationManager locationManager;  
        String serviceName = Context.LOCATION_SERVICE;  
        locationManager = (LocationManager)getSystemService(serviceName);  
        //String provider = LocationManager.GPS_PROVIDER;  
          
        Criteria criteria = new Criteria();  
        criteria.setAccuracy(Criteria.ACCURACY_FINE);  
        criteria.setAltitudeRequired(false);  
        criteria.setBearingRequired(false);  
        criteria.setCostAllowed(true);  
        criteria.setPowerRequirement(Criteria.POWER_LOW);  
        String provider = locationManager.getBestProvider(criteria, true);  
          
        Location location = locationManager.getLastKnownLocation(provider);  
        updateWithNewLocation(location);  
        locationManager.requestLocationUpdates(provider, 2000, 10,  
                        locationListener);  
    }  
   private final LocationListener locationListener = new LocationListener() {  
            public void onLocationChanged(Location location) {  
            updateWithNewLocation(location);  
            }  
            public void onProviderDisabled(String provider){  
            updateWithNewLocation(null);  
            }  
            public void onProviderEnabled(String provider){ }  
            public void onStatusChanged(String provider, int status,  
            Bundle extras){ }  
    };  
    private void updateWithNewLocation(Location location) {  
            String latLongString;  
            TextView myLocationText;  
            myLocationText = (TextView)findViewById(R.id.myLocationText);  
            if (location != null) {  
            double lat = location.getLatitude();  
            double lng = location.getLongitude();  
            latLongString = "纬度:" + lat + "\n经度:" + lng;  
            } else {  
            latLongString = "无法获取地理信息";  
            }  
            myLocationText.setText("您当前的位置是:\n" +  
            latLongString);  
    }  


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wf21cn/archive/2010/04/15/5489691.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值