根据逆地址获取区和街道拼音首字母大写

本文介绍了一种使用Java进行逆地址解析的方法,旨在获取区和街道名称的拼音首字母并转换为大写,适用于地理信息处理和地址搜索应用。
摘要由CSDN通过智能技术生成

 serviceimpl

@Override
    public boolean updateAreaDistrict() {
        List<StopSurvey> stopSurveys = baseMapper.selectList(new QueryWrapper<>());
        for (int i = 0; i < stopSurveys.size(); i++) {
            StopSurvey stopSurvey = stopSurveys.get(i);
            if (StringUtils.isNotBlank(stopSurvey.getLat()) && StringUtils.isNotBlank(stopSurvey.getLng())){
                Map<String, Object> parameter = new LinkedHashMap<>();
                parameter.put("location", stopSurvey.getLng() + "," + stopSurvey.getLat());
                parameter.put("key", GDKEY);
                String result = HttpRequest.get("http://restapi.amap.com/v3/geocode/regeo").header("Content-Type", "application/json; charset=utf-8")
                        .header("Accept", "application/json; charset=utf-8").form(parameter).execute().body();
                JSONObject jsonObject = JSONObject.parseObject(result);
                JSONObject regeocode = jsonObject.getJSONObject("regeocode");
                JSONObject addressComponent = regeocode.getJSONObject("addressComponent");
                String District = addressComponent.getString("district");
                String Township = addressComponent.getString("township");
                String City = addressComponent.getString("city");
                if (District.indexOf("区") > -1 && Township.indexOf("街道") > -1 && City.equals("深圳市")) {



                    //存入区
                    if (District.equals("龙华区")){
                        stopSurvey.setArea("LH(N)");
                    }else if (District.equals("罗湖区")){
                        stopSurvey.setArea("LH(S)");
                    }else {
                        char[] district = District.toCharArray();
                        StringBuffer pyfl1 = new StringBuffer();
                        for (int k = 0; k < district.length - 1; k++) {
                            String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(district[k]);
                            pyfl1.append(pinyinArray[0]);
                        }
                        stopSurvey.setArea(pyfl1.toString().toUpperCase());
                    }




                    //存入街道
                    if (Township.equals("光明街道")){
                        stopSurvey.setDistrict("GM(S)");
                    }else if (Township.equals("公明街道")){
                        stopSurvey.setDistrict("GM(N)");
                    }else {
                        char[] township = Township.toCharArray();
                        StringBuffer pyfl2 = new StringBuffer();
                        for (int j = 0; j < township.length - 2; j++) {
                            String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(township[j]);
                            pyfl2.append(pinyinArray[0]);
                        }
                        stopSurvey.setDistrict(pyfl2.toString().toUpperCase());
                    }





                }
                baseMapper.updateById(stopSurvey);
            }
        }
        return true;
    }

​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值