|
| 1 | +# 这里是MapServer的后端源码 |
| 2 | + |
| 3 | +## 前端源码在这里:https://github.com/Icemap/MapServer-Front |
| 4 | + |
| 5 | +## 这是一个在需要本地化部署地图服务时,快速建立本地瓦片地图服务的小工具。 |
| 6 | + |
| 7 | +## 比如你部署服务的位置不能访问外网,但是你的前端又需要一个地图控件。或者你需要对地图瓦片进行处理,需要地图色调变成“五彩斑斓的黑色”,美工让你下载切片。那么这个工具可以帮你快速建立这样的瓦片地图服务。 |
| 8 | + |
| 9 | +## 这个后端小工具使用Java、Spring Boot编写。 |
| 10 | + |
| 11 | +## 基本思路为: |
| 12 | +> - 将传入的经纬度形式的矩形参数,转换成Web墨卡托形式的矩形参数(CoodUtils.java); |
| 13 | +> - 通过转换后的Web墨卡托参数形式的矩形,以及传入的地图类型、地图等级,计算出需下载的切片URL(InitUtils.java); |
| 14 | +> - 使用URL得到地图瓦片(HttpUtils.java); |
| 15 | +> - 保存至相应位置(FileUtils.java); |
| 16 | +> - 请求时返回相应位置的文件(ServerController.java); |
| 17 | +
|
| 18 | +-------- |
| 19 | + |
| 20 | +## 支持地图类型为: |
| 21 | +> - Google卫星 |
| 22 | +> - Google矢量 |
| 23 | +> - Google地形 |
| 24 | +> - 高德卫星 |
| 25 | +> - 高德矢量 |
| 26 | +> - 高德标签层 |
| 27 | +> - 天地图卫星 |
| 28 | +> - 天地图矢量 |
| 29 | +> - 天地图标签层 |
| 30 | +> - PS:多种类型的瓦片类型可以同时存在。 |
| 31 | +> - PSS:瓦片保存位置为 ./map。 |
| 32 | +
|
| 33 | +-------- |
| 34 | + |
| 35 | +## 坐标系: |
| 36 | +> - Google与高德使用的大地坐标系为GCJ02,是加过偏的,使用时需要注意转经纬度。 |
| 37 | +> - 天地图使用的大地坐标系为WGS84,是不加偏的,国家队待遇就是不一样=。= |
| 38 | +
|
| 39 | +-------- |
| 40 | + |
| 41 | +## API简述: |
| 42 | + |
| 43 | +#### 1. 初始化地图(下载切片) |
| 44 | +> - /init/initMap POST, 参数为: |
| 45 | +> - left : 类型:double, 单位:经纬度, 含义:请求瓦片的左边界 |
| 46 | +> - right : 类型:double, 单位:经纬度, 含义:请求瓦片的右边界 |
| 47 | +> - top : 类型:double, 单位:经纬度, 含义:请求瓦片的上边界 |
| 48 | +> - bottom : 类型:double, 单位:经纬度, 含义:请求瓦片的下边界 |
| 49 | +> - type : 类型:string, 单位:瓦片类型, 含义:请求瓦片的类型,说明见瓦片类型参数说明 |
| 50 | +> - level : 类型:int, 单位:瓦片等级, 含义:请求瓦片的等级,说明见瓦片等级参数说明 |
| 51 | +
|
| 52 | +#### 2. 获取拥有的地图类型、等级、范围 |
| 53 | +> - /server/config GET, 参数为空 |
| 54 | +
|
| 55 | +#### 3. 地图服务 |
| 56 | +> - /server/map/{type}/{x}/{y}/{z} GET, 参数为URL参数,放在请求的路径中: |
| 57 | +> - type : 类型:string, 单位:瓦片类型, 含义:请求瓦片的类型,说明见瓦片类型参数说明 |
| 58 | +> - x : 类型:int, 单位:/, 含义:标准TMS(瓦片地图服务)的x参数 |
| 59 | +> - y : 类型:int, 单位:/, 含义:标准TMS(瓦片地图服务)的y参数 |
| 60 | +> - z : 类型:int, 单位:/, 含义:标准TMS(瓦片地图服务)的z参数 |
| 61 | +
|
| 62 | +## 其余描述: |
| 63 | +> - 见前端Q&A页面。 |
0 commit comments