Java Map Component Platform
by h7ml
Java MCP is a Spring Boot-based platform providing map service functionalities like geocoding, reverse geocoding, weather queries, POI search, and route planning. It offers a comprehensive set of map-related services through a RESTful API.
Last updated: N/A
Java Map Component Platform (Java MCP)
基于Spring Boot的Java地图组件平台,提供包括地理编码、逆地理编码、天气查询、POI搜索、路径规划等地图服务功能。
功能特性
- 地理编码/逆地理编码:地址与经纬度的互相转换
- 天气查询:根据城市名称或adcode查询天气信息
- POI搜索:关键词搜索、周边搜索、POI详情查询
- 路径规划:支持步行、骑行、驾车、公共交通等多种出行方式
- IP定位:根据IP地址获取位置信息
- 距离测量:计算两点间直线距离、驾车距离或步行距离
技术栈
- Java 17
- Spring Boot 3.4.4
- Spring Data JPA
- H2 数据库
- Jackson JSON
- RESTful API
快速开始
环境要求
- JDK 17+
- Maven 3.6+
获取项目
git clone [repository-url]
cd java-mcp-server
配置
在 src/main/resources/application.properties
中配置高德地图 API Key:
amap.key=your_amap_key_here
构建与运行
mvn clean package
java -jar target/demo-0.0.1-SNAPSHOT.jar
或直接使用 Maven 运行:
mvn spring-boot:run
服务启动后,访问 http://localhost:8080 即可。
API 接口说明
集成接口(/api/mcp/)
| 接口路径 | 方法 | 描述 | 参数 | |---------|------|-----|------| | /status | GET | 获取系统状态信息 | - | | /geo | GET | 地理编码(地址转坐标) | address, city(可选) | | /regeo | GET | 逆地理编码(坐标转地址) | location(格式:经度,纬度) | | /ip | GET | IP定位 | ip(可选) | | /weather | GET | 天气查询 | city | | /search | GET | POI搜索 | keywords, city(可选), types(可选) | | /around | GET | 周边搜索 | location, radius(可选), keywords(可选) | | /detail | GET | POI详情 | id | | /walking | GET | 步行路径规划 | origin, destination | | /bicycling | GET | 骑行路径规划 | origin, destination | | /driving | GET | 驾车路径规划 | origin, destination | | /transit | GET | 公共交通路径规划 | origin, destination, city, cityd(可选) | | /distance | GET | 测量距离 | origins, destination, type(可选) |
独立接口
各功能模块也提供了独立的API接口,详见:
- 位置服务:
/api/location/
- 天气服务:
/api/weather/
- POI服务:
/api/poi/
- 路径规划:
/api/route/
- IP定位:
/api/ip/
开发指南
项目结构
src/main/java/com/example/demo/
├── controller/ # 控制器层
├── model/ # 数据模型层
├── service/ # 服务层
└── DemoApplication.java # 程序入口
扩展指南
要添加新的地图服务功能,请按照以下步骤操作:
- 在
model
包中创建相应的实体类 - 在
service
包中实现服务逻辑 - 在
controller
包中创建控制器并提供API接口 - 在
McpController
中集成新功能