腾讯地图 地址解析

腾讯地图开放api

地址解析

https://lbs.qq.com/service/webService/webServiceGuide/webServiceGeocoder

public class MapHttpClientUtils {

   //地址解析
    private static final String GEOCODER_BASE_URL = "https://apis.map.qq.com/ws/geocoder/v1/";
    //腾讯地图key
    private static final String TENCENT_MAP_KEY = "这里是你的key";
    //申请key  https://lbs.qq.com/mobile/androidMapSDK/developerGuide/getKey
    
    
    /**
     * 获取经纬度
     * @param address
     * @return
     * @throws IOException
     */
    public static BigDecimal[] location(String address) throws IOException {
        JSONObject jsonObject = geocoderRequest(address);
        if (ObjectUtil.isNullOrEmpty(jsonObject)) {
            return null;
        }
        JSONObject location = jsonObject.getJSONObject("result").getJSONObject("location");
        //经度
        BigDecimal lng = location.getBigDecimal("lng");
        //纬度
        BigDecimal lat = location.getBigDecimal("lat");
        return new BigDecimal[]{lng,lat};
    }



    /**
     * 地址解析 https://lbs.qq.com/service/webService/webServiceGuide/webServiceGeocoder
     * @param address
     * @return
     */
    private static JSONObject geocoderRequest(String address) {
        try {
            String encodedAddress = URLEncoder.encode(address, "UTF-8");
            String requestUrl = GEOCODER_BASE_URL + "?keyword=" + encodedAddress + "&key=" + TENCENT_MAP_KEY;

            JSONObject jsonObject = new JSONObject(sendGetRequest(requestUrl));
            int status = jsonObject.getInt("status");
            String message = jsonObject.getString("message");
            if (status == 0) {
                return jsonObject;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * GET 请求
     * @param requestUrl
     * @return
     * @throws IOException
     */
    private static String sendGetRequest(String requestUrl) throws IOException {
        CloseableHttpClient httpClient = HttpClients.createDefault();
        HttpGet httpGet = new HttpGet(requestUrl);

        HttpResponse response = httpClient.execute(httpGet);
        HttpEntity entity = response.getEntity();

        String responseBody = EntityUtils.toString(entity);
        httpClient.close();

        return responseBody;
    }
}

地址解析结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uniapp腾讯地图地址解析接口是指在uniapp开发中使用腾讯地图SDK提供的接口来解析地址信息。可以通过调用该接口将地址转化为行政区划省市县区的具体地址信息。 在开发中,为了提高地址解析的准确性,可以采取一些方法来处理无法解析地址的情况。首先,要对地址进行格式化,确保地址符合腾讯地图SDK要求的格式。其次,可以使用地理编码接口来进行地址解析,通过更新SDK版本也可以解决一些地址解析问题。 需要注意的是,腾讯地图SDK对地址解析有一定的限制,需要按照一定的格式来输入地址。如果没有进行地址的格式化,可能会导致解析失败。因此,在使用腾讯地图地址解析接口时,需要对地址进行正确的格式化处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [腾讯地图WebService地址解析接口](https://download.csdn.net/download/linhaiyun_ytdx/10933467)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Uniapp腾讯地图无法解析地址怎么解决](https://blog.csdn.net/qq_29701691/article/details/130202434)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值