2025-10-21
为急救转运系统实现百度地图距离计算功能,支持通过坐标或地址计算两点间的驾车距离。
文件路径: ruoyi-common/src/main/java/com/ruoyi/common/config/BaiduMapConfig.java
文件作用: 百度地图配置类,用于读取 application.yml 中的百度地图 AK 配置
关键代码:java @Configuration @ConfigurationProperties(prefix = "baidu.map") public class BaiduMapConfig { private String ak; // 百度地图API Key }
文件路径: prd/百度地图距离计算接口说明.md
文件作用: 完整的接口使用文档,包含:
- 接口详细说明
- 请求/响应示例
- 前端调用示例
- 使用场景
- 常见问题
- 注意事项
文件大小: 13.0KB (486行)
文件路径: prd/百度地图距离计算-快速开始.md
文件作用: 快速上手指南,包含:
- 3步快速配置
- 核心接口说明
- 实战场景示例
- 常见问题
文件大小: 5.6KB (216行)
文件路径: prd/百度地图距离计算接口实现总结.md
文件作用: 完整的实现总结,包含:
- 技术实现细节
- 接口对比
- 使用示例
- 功能特性
- 性能优化建议
- 后续扩展建议
文件大小: 12.3KB (483行)
文件路径: ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/VehicleGpsController.java
修改内容:
import com.ruoyi.common.config.BaiduMapConfig;
@Autowired
private BaiduMapConfig baiduMapConfig;
/system/gps/baidu/geocodingbaiduGeocoding(String address, String city)/system/gps/baidu/route/drivingbaiduRouteDriving(String origin, String destination)/system/gps/baidu/distance/byAddressbaiduDistanceByAddress(String fromAddress, String fromCity, String toAddress, String toCity)代码行数: +129行
文件路径: app/api/map.js
修改内容:
百度地图地理编码API
javascript export function baiduGeocoding(address, city)
百度地图路线规划API
javascript export function baiduRouteDriving(origin, destination)
百度地图地址距离计算API
javascript export function baiduDistanceByAddress(fromAddress, fromCity, toAddress, toCity)
特点:
- 完整的参数验证
- 友好的错误提示
- Promise 封装
代码行数: +64行
文件路径: ruoyi-admin/src/main/resources/application.yml
修改内容:
# 百度地图配置
baidu:
map:
ak: YOUR_BAIDU_MAP_AK_HERE # 请替换为您的百度地图API Key
位置: 在腾讯地图配置后面
代码行数: +5行
| 类型 | 数量 | 说明 |
|---|---|---|
| 新增文件 | 4 | 1个Java类 + 3个Markdown文档 |
| 修改文件 | 3 | 1个Java类 + 1个JS文件 + 1个YAML配置 |
| 总计 | 7 |
| 文件 | 新增行数 | 删除行数 | 净增行数 |
|---|---|---|---|
| BaiduMapConfig.java | 26 | 0 | +26 |
| VehicleGpsController.java | 129 | 0 | +129 |
| map.js | 64 | 2 | +62 |
| application.yml | 5 | 0 | +5 |
| 代码合计 | 224 | 2 | +222 |
| 百度地图距离计算接口说明.md | 486 | 0 | +486 |
| 百度地图距离计算-快速开始.md | 216 | 0 | +216 |
| 百度地图距离计算接口实现总结.md | 483 | 0 | +483 |
| 文档合计 | 1185 | 0 | +1185 |
| 总计 | 1409 | 2 | +1407 |
✅ 后端接口: /system/gps/baidu/route/driving
✅ 前端方法: baiduRouteDriving(origin, destination)
✅ 百度API: https://api.map.baidu.com/directionlite/v1/driving
✅ 后端接口: /system/gps/baidu/geocoding
✅ 前端方法: baiduGeocoding(address, city)
✅ 百度API: https://api.map.baidu.com/geocoding/v3/
✅ 后端接口: /system/gps/baidu/distance/byAddress
✅ 前端方法: baiduDistanceByAddress(fromAddress, fromCity, toAddress, toCity)
✅ 实现方式: 组合调用地理编码 + 路线规划
ruoyi-admin/src/main/resources/application.ymlYOUR_BAIDU_MAP_AK_HERE 为您的真实 AK纬度,经度 (lat,lng)40.056878,116.30815status: 4返回状态码:
- 0 - 成功
- 1 - 服务器内部错误
- 2 - 参数非法
- 3 - 权限校验失败(检查AK)
- 4 - 配额不足
- 5 - AK不存在
✅ 后端实现 - 100%
✅ 前端封装 - 100%
✅ 配置文件 - 100%
✅ 接口文档 - 100%
✅ 使用指南 - 100%
✅ 实现总结 - 100%
总体完成度: 🎯 100%
变更完成时间: 2025-10-21
文档版本: v1.0
整理人: AI Assistant