地图源数据
openstreetmap 开源
地图编辑器项目
OsmInEdit 开源,基于react+leaflet+osm
framagit.org/PanierAvide… 国内地址
indoorequal.org/#map=9.58/4… osminedit的geojson数据展示, vue+maplibre-gl搭建
地图服务供应商
谷歌 GoogleMap
微软 AzureMaps
必应BingMap
高德地图
百度地图
地图引擎
| 3D | 优点 | 缺点 |
|---|---|---|
| MapboxGL | 支持3D地图和复杂的视觉效果,可以自定义地图数据和样式。Mapbox的3D功能非常强大,适合创建详细的室内地图和导航功能。 | 需要Mapbox账户和可能的成本,以及较高的学习曲线。 |
| Cesium | 专门为3D地图设计,支持WebGL渲染。CesiumJS可以显示全球尺度的3D地形、建筑和室内结构,非常适合需要高精度和大规模3D视图的应用。 | 相较于2D地图库,CesiumJS的学习成本和性能要求更高。 |
| ArcGIS | 支持3D视图和多种数据源,是一个全功能的地理信息系统(GIS)解决方案。ArcGIS提供了强大的工具和API来创建复杂的室内和室外地图。 | 可能涉及到许可费用,且系统较为复杂,适用于有一定GIS背景的开发者。 |
| Three.js | 如果你希望从头开始构建一个完全定制的3D环境,Three.js提供了底层的3D渲染能力。它允许开发者使用WebGL创建详细的3D场景和动画。 | 不是一个专门的地图库,需要更多的开发工作来集成地图数据和导航功能。 |
| 高德开放平台 |
| 2D | 优点 | 缺点 | Star |
|---|---|---|---|
| Leafet | 轻量级,容易上手,支持使用图片作为地图图层。Leaflet的简单API和丰富的插件生态使其成为处理较简单地图功能的理想选择。 | 主要用于处理地理地图,对于纯粹的图像地图可能需要进行一些额外的定制。 | 39.9k |
| OpenLayers | 功能全面,支持各种图层类型,包括使用单一图像作为地图。OpenLayers能够处理复杂的交互和图层堆叠,适合于需要更多定制和交互功能的场景。 | 相比Leaflet,它的包体积更大,配置也更复杂。 | 10.9K |
| 自定义HTML5 Canvas | 如果你的需求非常特定,例如需要精确控制每个像素点的交互,使用HTML5的Canvas API可以完全自定义绘图和事件处理。 | 需要从头开始开发所有的功能,包括缩放、拖动和位置标记等。 | \ |
3D
Mapbox www.mapbox.com/
MapboxGL docs.mapbox.com/mapbox-gl-j…
Cesium www.cesium.com/
Three.js threejs.org/ 中文网www.webgl3d.cn/
高德开放平台 lbs.amap.com/
2D
Leafet leafletjs.cn/index.html
OpenLayers openlayers.org/
其他
MaplibreGL 剔除MapboxGL自带地图服务后的分支
Maptalks maptalks.org/
Mapmost www.mapmost.com/
国内一些解决方案公司
维拓科技 维小帮
基于高德地图,整合编辑功能制作编辑器
园图,3D编辑器
易景空间,3D编辑器
火星,基于Cesium
园测信息,自己开发了一款地图引擎,侧重地下空间
国外一些解决方案公司
园测信息科技 自研Mapmost地图引擎,特色是地下空间的利用
附录
在线geojson数据查看
基于OpenStreetMap的3D地图
F4Map
www.f4map.com/ demo demo.f4map.com/
OSMBuildings
gitcode.com/gh_mirrors/… 国内镜像仓库
中国行政区域地图geojson数据下载
其他技术体系(GIS)
ArcGIS
QGIS
GitHub项目
使用ThreeJs绘制的3d地图,地图根据geoJson数据生成
htmlcanvas绘制2d地图,threejs绘制3d地图,地图根据json数据生成
maputnik,maplibre的在线地图编辑(类似mapbox的mapbox studio?)
BlueMap,创建Minecraft世界的3D地图并在浏览器中显示
一个3D效果的登陆页面 vue+threejs
一个3D效果可视化大屏 vue+threejs