当前位置: 首页 > news >正文

高德地图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

http://www.jsqmd.com/news/204546/

相关文章:

  • 2.28 GBDT算法原理详解:梯度提升决策树,从数学推导到代码实现
  • 好写作AI:当AI承包了“码字”,你的大脑该升级什么技能?
  • 2026轻量化无人机建图识别系统供应商推荐:低空智能时代的核心引擎 - 品牌2025
  • 2.29 XGBoost、LightGBM、CatBoost对比:三大梯度提升框架选型指南
  • 如何科学分配Docker资源?看这篇就够了(附真实案例)
  • 2025年古法手工炒料火锅团建精选地点TOP4强力推荐,老火锅/牛肉火锅/酸汤火锅/火锅外卖/天台火锅古法手工炒料火锅团建地点有哪些 - 品牌推荐师
  • 2026年上海专业的孩子叛逆学校排行榜,精选孩子叛逆心理疏导与行为矫正机构推荐 - 工业品牌热点
  • 好写作AI:用好这把“学术赛车”,而不是让它替你“无证驾驶”
  • rancher kafka多监听配置
  • 2026年济南专业翻译公司顶尖推荐:济南译加翻译有限公司 - 2026年企业推荐榜
  • 好写作AI:不当你的“枪手”,只做你的“神装”
  • 2026深圳创业办公楼出租、联合办公室租赁推荐:5大优质产业园区含企业孵化园,助力创业腾飞 - 品牌2026
  • 2.31 机器学习神器项目实战:如何在真实项目中应用XGBoost等算法
  • 20251111
  • 【开题答辩全过程】以 校园内部点餐运营与数据分析系统为例,包含答辩的问题和答案
  • 2.32 男女声音识别实战:音频特征提取与分类模型构建完整案例
  • 绿色计算倡议:选用低碳排放数据中心
  • 【Java毕设全套源码+文档】基于springboot的公考知识学习平台设计与实现(丰富项目+远程调试+讲解+定制)
  • 【开题答辩全过程】以 酒店综合管理系统为例,包含答辩的问题和答案
  • 2026国内钛管钛棒源头厂家优选榜——多维度筛选适配不同需求场景 - 深度智识库
  • 连接器中隐私计算:匿踪查询、隐私求交、联合计算、联合建模的原理及应用方向
  • ‌Jenkins集成测试流水线优化技巧
  • ASTM D4169-23e1 DC13低气压测试频发故障,医疗器械企业必看避坑指南
  • 搜狗微信搜索占位:发布高质量公众号文章抢占结果
  • 2026Q1国内知名截齿厂家优选推荐:菲特龙引领地域产业标杆 - 品牌智鉴榜
  • 计算机视觉与AI如何从照片测算体脂并生成3D模型
  • 【重磅】 2026年知名的AR巡检公司都有哪些?
  • 上传图片压缩
  • 备份策略制定:定期快照保存关键节点状态
  • 别再造Agent了!关于Agent Skills的详细总结来了