# baidu-maps-navigation **Repository Path**: yin_boning/baidu-maps-navigation ## Basic Information - **Project Name**: baidu-maps-navigation - **Description**: 百度地图导航路线服务demo,地点检索服务,路线规划服务 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-06-09 - **Last Updated**: 2025-08-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 百度地图导航路线服务 > [中文介绍] 这是一个基于百度地图API的导航路线服务,支持地点搜索、多路线查询和详细路线展示。用户可以通过输入地点名称(如"天宫")自动获取经纬度坐标,查询多条驾车路线方案,并以表格形式展示路线的详细信息。 这是一个基于Spring Boot和百度地图API开发的导航路线服务,用于显示多条驾车导航路线及其详细信息。 ## 功能特点 - **地点搜索功能**:支持通过输入地点名称(如"天宫")搜索相关地点,自动获取经纬度坐标 - **多路线查询**:支持同时查询多条驾车路线方案 - **路线详情展示**:以表格形式展示路线信息,包括: - 路线标签(推荐路线、备选路线等) - 总距离(公里) - 预计耗时 - 红绿灯数量 - 路况信息 - 过路费 - **路线步骤详情**:展示每条路线的详细行驶步骤,包括: - 道路名称 - 行驶指示(直行、左转、右转等) - 分段距离 - 分段耗时 - 分段路况 ## 技术架构 ### 后端 - **框架**:Spring Boot - **语言**:Java - **API调用**:OkHttp3 - **JSON处理**:Jackson - **日志**:SLF4J + Logback ### 前端 - **模板引擎**:Thymeleaf - **UI**:纯HTML + CSS + JavaScript - **API交互**:Fetch API ## 项目结构 ``` baidu-maps-navigation/ ├── src/main/java/com/example/navigation/ │ ├── BaiduMapsNavigationApplication.java # 应用入口 │ ├── config/ # 配置类 │ │ └── BaiduMapsConfig.java # 百度地图API配置 │ ├── controller/ # 控制器 │ │ ├── NavigationController.java # 导航API控制器 │ │ └── WebController.java # Web页面控制器 │ ├── dto/ # 数据传输对象 │ │ ├── NavigationResponse.java # 导航响应DTO │ │ └── PlaceSearchResponse.java # 地点搜索响应DTO │ └── service/ # 服务层 │ └── BaiduMapsService.java # 百度地图服务 └── src/main/resources/ ├── application.properties # 应用配置文件 └── templates/ # 页面模板 └── index.html # 主页面 ``` ## 使用方法 ### 配置 1. 在`application.properties`中配置百度地图API密钥: ```properties baidu.maps.apiKey=您的百度地图API密钥 baidu.maps.apiUrl=https://api.map.baidu.com ``` ### 运行 1. 使用Maven构建项目: ```bash mvn clean package ``` 2. 运行应用: ```bash java -jar target/baidu-maps-navigation-0.0.1-SNAPSHOT.jar ``` 或者使用Maven直接运行: ```bash mvn spring-boot:run ``` 3. 访问应用: 打开浏览器,访问 `http://localhost:8080` ### 使用流程 1. 在起点输入框中输入地点名称(如"天宫") 2. 从下拉列表中选择匹配的地点 3. 在终点输入框中输入地点名称 4. 从下拉列表中选择匹配的地点 5. 点击"查询路线"按钮 6. 查看路线列表和详情 ## API接口 ### 1. 驾车导航路线查询 - **URL**: `/api/navigation/driving` - **方法**: GET - **参数**: - `origin`: 起点坐标,格式为"纬度,经度" - `destination`: 终点坐标,格式为"纬度,经度" - `alternatives`: 是否返回备选路线,默认为true - **响应**: 返回包含多条路线信息的JSON对象 ### 2. 地点搜索 - **URL**: `/api/navigation/place/search` - **方法**: GET - **参数**: - `keyword`: 搜索关键词 - `region`: 搜索区域,默认为"全国" - **响应**: 返回包含地点列表的JSON对象 ## 注意事项 - 本项目需要有效的百度地图API密钥才能正常工作 - 百度地图API可能有调用次数限制,请参考百度地图开放平台的使用条款 - 本应用仅用于演示目的,实际使用时可能需要进一步优化和扩展 ## 展示 ![输入图片说明](%E5%9B%BE%E7%89%87.png) ![输入图片说明](%E5%9B%BE%E7%89%871.png)