news 2026/9/3 2:27:35

高德地图API的核心使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
高德地图API的核心使用

高德 Web 服务 API 向开发者提供HTTP 接口,开发者可通过这些接口使用各类型的地理数据服务,返回结果支持JSON 和 XML格式。

--需要用到哪个API就去文档上找url,主要就是给这个url发起请求然后解析数据获取数据高德地图APIhttps://amap.apifox.cn/doc-537179如果还没注册,就先看文档跟着步骤,非常详细有手就行

--在基础API文档里就是我们一般用的多的API

-- 按着他的这个调试,先自己改改参数,玩一玩(介绍的非常详细)

然后我们整合API自己使用的时候

就是向这个url发送请求获取响应的过程

也就是这个所以我们就按这个url拼接发送请求就行了

可以发现每个API前面https://restapi.amap.com/v3/geocode/geo?·都是固定的,我们需要按格式处理后面的拼接参数

一个裸奔版供测试

裸奔版

<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.25</version> </dependency>

地址转经纬度+获取响应


import cn.hutool.http.HttpRequest; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import java.util.HashMap; import java.util.Map; ​ public class AmapResponseDemo { public static void main(String[] args) { // 1. 准备请求要素(核心:URL + 参数) String apiUrl = "https://restapi.amap.com/v3/geocode/geo"; // 地理编码 API URL String amapKey = "你的高德API密钥"; // 替换为自己的 key ​ // 请求参数(必传:key + address,可选:city) Map<String, Object> paramMap = new HashMap<>(); paramMap.put("key", amapKey); // 高德密钥(必传) paramMap.put("address", "北京市朝阳区天安门"); // 待转换地址(必传) paramMap.put("city", "北京"); // 限定城市(可选,提高精度) paramMap.put("output", "json"); // 返回格式(必传,JSON) ​ // 2. 发送 GET 请求 + 获取响应体(核心步骤) String responseBody = HttpRequest.get(apiUrl) // 指定 URL 和请求方式(GET) .form(paramMap) // 传入参数(Hutool 自动拼接为 key=value&...,自动编码中文) .timeout(5000) // 连接超时(5秒) .readTimeout(5000) // 读取超时(5秒) .execute() // 执行请求(真正发起网络调用) .body(); // 获取响应体(API 返回的 JSON 字符串) ​ // 3. 解析响应数据(从 JSON 中提取需要的信息) JSONObject responseJson = JSONUtil.parseObj(responseBody); // 字符串转 JSON 对象 ​ // 3.1 先校验响应是否成功(高德 API 规则:status=1 表示成功) if ("1".equals(responseJson.getStr("status"))) { // 3.2 提取核心数据(如经纬度) String location = responseJson.getJSONArray("geocodes") // 结果数组 .getJSONObject(0) // 取第一个匹配结果(最精准) .getStr("location"); // 经纬度字符串(格式:"经度,纬度") ​ // 3.3 打印结果 System.out.println("API 响应体(JSON 字符串):" + responseBody); System.out.println("解析后的经纬度:" + location); } else { // 3.4 响应失败:打印错误信息(高德 API 的 info 字段是错误描述) String errorMsg = responseJson.getStr("info"); String errorCode = responseJson.getStr("infocode"); System.out.println("请求失败:错误信息=" + errorMsg + ",错误码=" + errorCode); } } }
  • 核心代码就这个

String responseBody = HttpRequest.get(apiUrl) .form(paramMap) .timeout(5000) .readTimeout(5000) .execute() .body();

向url发送GET请求(高德地图一般都是GET)

.form(拼接参数)

.execute():触发请求发送(建立和高德服务器的连接,发送数据)

然后.body()获取响应体(返回的是JSON格式)

最后用JSONUtil.parseOBJ(responseBody)解析JSON,按高德API字段名提取数据

提取k-v的值,需要去文档里查看这个字段名:

比如:像这样

bi

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 2:12:10

注解开发实现为第三方bean注入资源

简单类型依赖注入引用类型依赖注入引用类型注入只需要为bean定义方法设置形参即可&#xff0c;容器会根据类型自动装配对象

作者头像 李华
网站建设 2026/8/31 6:27:23

【Docker监控工具全攻略】:20年运维专家揭秘5大必用监控神器

第一章&#xff1a;Docker监控的现状与挑战随着容器化技术的广泛应用&#xff0c;Docker已成为现代应用部署的核心组件。然而&#xff0c;其动态性、短暂性和分布式的特性给系统监控带来了前所未有的挑战。传统的监控工具往往基于静态主机和长期运行的服务设计&#xff0c;难以…

作者头像 李华
网站建设 2026/8/27 0:40:27

UVa 111 History Grading

题目描述 本题源于历史考试评分问题。学生需要将若干历史事件按时间顺序排序。完全正确的排序得满分&#xff0c;但对于部分排序错误的情况&#xff0c;需要给予部分分数。题目要求采用第二种评分方式&#xff1a; 计算学生答案中最长的相对顺序正确的子序列的长度&#xff08…

作者头像 李华
网站建设 2026/9/2 23:29:49

【Java毕设全套源码+文档】基于springboot的公考知识学习平台设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/9/1 23:52:12

微博话题舆情分析可视化|基于Python + Flask微博话题舆情分析可视化系统(源码+数据库+文档)

微博话题舆情分析可视化 目录 基于springboot vue幼儿园管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于PythonFlask微博话题舆情分析可视化系统 一、前言…

作者头像 李华
网站建设 2026/9/3 1:15:21

2.17 Apriori算法详解:从原理到实现,关联规则挖掘的核心算法

2.17 Apriori算法详解:从原理到实现,关联规则挖掘的核心算法 引言 Apriori算法是关联规则挖掘的经典算法,通过逐层搜索发现频繁项集。本文将深入解析Apriori算法的原理,并提供完整的Python实现代码。 一、Apriori算法原理 1.1 核心思想 Apriori算法的核心思想: 频繁项…

作者头像 李华