Android GPS/WIFI定位 獲取經緯度

移動 是手機與手持設備的最大特點,可以通過Eclipse的DDMS視圖,模擬設備的位置變化,改變經緯度後,點擊send,然後運行程序,在應用程序中,動態的獲取設備位置,然後顯示當前的位置信息。

獲取位置信息分爲三步:
1. 添加系統權限,來支持對LBS硬件的訪問
   <uses-permission    android:name="android.permission.ACCESS_FINE_LOCATION">
  </uses-permission>

2. 得到系統服務 的LocationManager 對象     
         LocationManager loctionManager;
        String contextService=Context.LOCATION_SERVICE;
        //通過系統服務,取得LocationManager對象
        loctionManager=(LocationManager) getSystemService(contextService);

3. 得到位置提供器,通過位置提供器,得到位置信息,可以指定具體的位置提供器,也可以提供一個標準集合,讓系統根據 標準匹配最適合的位置提供器,位置信息是由位置提供其提供的。
     a.   通過GPS位置提供器獲得位置(指定具體的位置提供器)
        String provider=LocationManager.GPS_PROVIDER;
       Location location = loctionManager.getLastKnownLocation(provider);
       
     b. 使用標準集合,讓系統自動選擇可用的最佳位置提供器,提供位置
        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 = loctionManager.getBestProvider(criteria, true);
       
        //獲得最後一次變化的位置
        Location location = loctionManager.getLastKnownLocation(provider);

最後將位置信息顯示在TextView中,如圖:


監聽位置的變化
        //監聽位置變化,2秒一次,距離10米以上
        loctionManager.requestLocationUpdates(provider, 2000, 10, locationListener);

//位置監聽器
    private final LocationListener locationListener = new LocationListener() {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
//當位置變化時觸發
@Override
public void onLocationChanged(Location location) {
//使用新的location更新TextView顯示
updateWithNewLocation(location);
}
};

通過改變位置經緯度,程序會自動更新TextView顯示的位置信息

  • 大小: 17.5 KB
  • 大小: 7.3 KB
  • 大小: 7.8 KB
  • 大小: 17.5 KB
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章