Skip to content

qmjy/mapbox-offline-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

map-offline-server

Map offline server with java(JDK 21).
本项目旨在提供离线地图服务,为私有化地图部署提供解决方案。
启动项目后可以通过 http://localhost:10101/ 查看开放接口,目前主要支持mbtiles、tpk两种地图格式数据。

Mapbox Offline Demo

特性列表

mbtiles tpk shapefile osm.pbf OSMB(geojson)
底图切片
地理逆编码
地理编码
路径规划
POI搜索 ✅(矢量)
静态地图 🏃
行政区划(含边界)
  1. 支持瓦片离线服务,主要用于Map服务器离线场景,也支持mvt(pbf)瓦片数据的元数据查看;
  2. 支持全球行政区划级联数据查询,也支持对应行政区划边界数据查询,查询时支持国际化,支持地理逆编码;
  3. 支持mbtiles格式的矢量数据POI搜索;
  4. 支持mbtiles文件合并,支持静态资源服务器等工具能力;

安装启动程序

假设您已经安装完成git、JDK21、Maven程序并设置好了环境变量。

git clone git@github.com:qmjy/mapbox-offline-server.git

进入到代码目录执行命令编码源码:

cd mapbox-offline-server
mvn clean package

进入编译结果目录并启动程序

cd target
java -jar mapbox-offline-server-xxx.jar --dataPath="your data path"

资源结构

本项目自带了WGS84(WKID=4326)、CGCS2000(WKID=4490)坐标系的Mapbox资源文件。

  • mapbox离线服务至少需要包含四种资源文件:mapbox-gl、fonts、sprites、tilesets;
  • 行政区划服务相关需需要包含一种资源文件:geojson;
  • 在运行本服务之前需要按照如下结构配置数据目录,然后通过“--dataPath=xxx”的方式启动服务;
  • mapbox最新版本不支持离线,可以使用Maplibre代替;
data
├─assets
│      mapbox-gl.css
│      mapbox-gl.js
├─fonts
│  └─Arial Regular
│         0-255.pbf
│         15616-15871.pbf
│         15872-16127.pbf
├─sprites
│  └─streets
│         sprite.json
│         sprite.png
│         sprite@2x.json
│         sprite@2x.png
├─styles
│      world.json
├─osm.pbf
│      Chengdu.osm.pbf
├─tilesets
│      Chengdu.mbtiles
│      Chengdu.mbtiles.idx
└─OSMB
       China.geojson

资源

POI数据下载

POI数据可从规划云下载。

字体下载

SimSun Regular(宋体):https://pan.baidu.com/s/1lv69EP5QlaUnlKZlH4-qlA
Microsoft YaHei Regular(雅黑):https://pan.baidu.com/s/1-tJr-PpKSFRxlfhWwtc0Kw
Microsoft YaHei Bold:https://pan.baidu.com/s/1Ls1hgLIbcu5impJ086x5DQ
Arial Regular:https://pan.baidu.com/s/102-e8pYKB2CO9bvP3LvWug
Other Fonts: https://github.com/developmentseed/osm-seed-visor/tree/master/fonts