android 定位当前城市

	private void getLocationByLocationManager() {
		 LocationManager locationManager = 
	            (LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
        LocationListener locationListener = new LocationListener() {
            public void onLocationChanged(Location location) {
                updateLocation(location);
            }
            public void onStatusChanged(
                    String provider, int status, Bundle extras) {}
            public void onProviderEnabled(String provider) {}
            public void onProviderDisabled(String provider) {}
        };
        locationManager.requestLocationUpdates(
                LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
        locationManager.removeUpdates(locationListener);
	}
	private void updateLocation(Location location){
        currentLocation = location;
        currentLatitude = currentLocation.getLatitude();
        currentLongitude = currentLocation.getLongitude();
        try{
            Geocoder gcd = new Geocoder(this, Locale.getDefault());
            List<Address> addresses = 
                gcd.getFromLocation(currentLatitude, currentLongitude,100);
            if (addresses.size() > 0) {
                StringBuilder result = new StringBuilder();
//                for(int i = 0; i < addresses.size(); i++){
//                    Address address =  addresses.get(i);
//                    int maxIndex = address.getMaxAddressLineIndex();
//                    for (int x = 0; x <= maxIndex; x++ ){
//                        result.append(address.getAddressLine(x));
//                        result.append(",");
//                    }   
//                    result.append(address.getLocality());
//                    result.append(",");
//                    result.append(address.getPostalCode());
//                    result.append("\n\n");
//                }
                
                result.append("AdminArea:"+addresses.get(0).getAdminArea()+",");
                result.append("SubAdminArea"+addresses.get(0).getSubAdminArea()+",");
                result.append("FeatureName"+addresses.get(0).getFeatureName()+",");
                result.append("Locality"+addresses.get(0).getLocality()+",");
                result.append("countryName"+addresses.get(0).getCountryName()+",");
                result.append("Premises"+addresses.get(0).getPremises()+",");
                result.append("SubLocality"+addresses.get(0).getSubLocality()+",");
                result.append("SubThoroughfare"+addresses.get(0).getSubThoroughfare()+",");
                result.append("Thoroughfare"+addresses.get(0).getThoroughfare()+",");
               LogUtil.e("NewLoc",result.toString());
            }
        }catch(IOException ex){
        }
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值