Java调用高德地图逆向地理编码(二)

本文介绍了在高德地图API限制情况下,如何通过Java直接调用HTTP接口实现逆地理编码。详细步骤包括申请API key,解析高德提供的URL,并在Java项目中设置pom文件以请求地址。

需求

因老项目使用高德地图java api获取经纬度值,近期高德做了限制,只能免费查询300W条数据,但我们服务器每天访问次数平均在9000W左右,只能找其他方法。刚开始使用的是html模拟页面点击,参考链接: Java调用JS示例-高德地图逆向地理编码 中的HtmlUnit模拟页面点击操作;因为是操作html页面,高并发请求下会出现线程安全问题,所以直接调用高德http接口。

申请key

1、搜索高德地图api
在这里插入图片描述
2、登录点击控制台
在这里插入图片描述
3、新建应用
在这里插入图片描述
4、添加key
在这里插入图片描述
5、下图key即为申请好的key
在这里插入图片描述
6、高德获取逆地理编码的url为:

单个查询:
  http://restapi.amap.com/v3/geocode/regeo?key={ {你申请的key}}&s=rsv3&language=zh_cn&location=116.39,39.9&platform=JS
批量查询:
 http://restapi.amap.com/v3/geocode/regeo?key={ {你申请的key}}&s=rsv3&language=zh_cn&batch=true&location=121.4826,31.24609|121.439342,31.278372|121.278667,31.240806|121.636409,31.261352|121.381663,31.229064&platform=JS

 具体参数查看官网: 坐标与地址-参考手册.

pom文件引入

<!-- https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient -->
    <dependency>
      <groupId>commons-httpclient</groupId>
      <artifactId>commons-httpclient</artifactId>
      <version>3.0</version>
    </dependency>

Java请求URL获取地址

"{ {你自己申请的key}}" 记得修改

/**
     * 访问高德官网http   
     * @param longitude 经度
     * @param latitude 纬度
     * http://restapi.amap.com/v3/geocode/regeo?key=XXX&s=rsv3&language=zh_cn&location=116.39,39.9&extensions=all&callback=&platform=JS
     * @return
     */
    public static Address getAddressByHttp(double longitude, double latitude) throws IOException {
   
   
        Address address = new Address();
        address.setLon(longitude);
        address.setLat</
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杜林晓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值