Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 技術總結(015)—— 獲取當前經緯度以及地名

Android 技術總結(015)—— 獲取當前經緯度以及地名

編輯:關於Android編程

上一篇:/kf/201208/151127.html

[java] 
public void getAndRefreshLocation(GeoPoint p) { 
    try { 
        LogUtil.i("ReviewPositionUI", "Lat==" + p.getLatitudeE6() + "==Long==" + p.getLongitudeE6()); 
        double lat = (double)p.getLatitudeE6()/1000000; 
        double lon = (double)p.getLongitudeE6()/1000000; 
        LogUtil.i("ReviewPositionUI", "Lat==" + lat + "==Long==" + lon); 
        List<Address> address = mGeocoder.getFromLocation(lat, 
                lon, 3); 
        if (address != null) { 
            Address addres = address.get(0); 
            String addressName = addres.getAdminArea() 
                    + addres.getSubLocality() + addres.getFeatureName() 
                    + "附近"; 
            Toast.makeText(mContext, addressName, Toast.LENGTH_LONG).show(); 
        } 
    } catch (AMapException e) { 
        LogUtil.i("ReviewPositionUI", e.getMessage()); 
    } 

[java] 
public class GPSLocation { 
     
    private LocationManagerProxy mLocationManager; 
     
    private Context mContext; 
     
    LocationManager mManager; 
 
    public GPSLocation(Context context) { 
        this.mContext = context; 
        mLocationManager = LocationManagerProxy.getInstance(context); 
        mManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE); 
    } 
     
    public void enableMyLocation(LocationListener listener) { 
        Location location; 
        if (NetworkState.TYPE_WIFI == NetworkState.searchNetworkType(mContext)){ 
            location = mManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 
        }else{ 
            location = mManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); 
        } 
        if (location != null){ 
            listener.onLocationChanged(location); 
        }else{ 
            Criteria cri = new Criteria(); 
            cri.setAccuracy(Criteria.ACCURACY_COARSE); 
            cri.setAltitudeRequired(false); 
            cri.setBearingRequired(false); 
            cri.setCostAllowed(false);       
            String bestProvider = mLocationManager.getBestProvider(cri, true); 
            try{ 
                mLocationManager.requestLocationUpdates(bestProvider, 2000, 10, listener); 
            }catch (Exception e){    
                listener.onLocationChanged(null); 
            }            www.2cto.com
        } 
    } 
 
    public void disableMyLocation(LocationListener listener) { 
        if (mLocationManager != null){ 
            mLocationManager.removeUpdates(listener); 
            mLocationManager.destory(); 
            mLocationManager = null; 
        }    
        if (mManager != null){ 
            mManager.removeUpdates(listener); 
        } 
    } 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved