English | 中文
BicMap | Documentation
BicMap (@x-humanoid-cloud/bic-map) is a WebGL-based map rendering library built on top of MapLibre GL, Three.js, and Turf, extended with robotics-oriented features including indoor SLAM maps, outdoor tile/HD maps, point clouds, 3D models, POI markers, drawing tools, path planning, and robot orchestration — all ready to use out of the box.
BicMap maps data (GeoJSON / point clouds / robot poses) to a set of composable layers and overlays. Developers can build seamless indoor/outdoor visualization scenes through a single bicMap instance without worrying about engine initialization, coordinate transformations, or asset hosting.
Key Features:
- Unified indoor/outdoor rendering — SLAM grid maps, tile base maps, HD maps, 2D/3D point clouds, and 3D models in the same scene
- Rich overlay types — direction markers, batch POIs, robot markers, rectangles, polygons, circles, polylines, and wide line segments
- Interactive drawing — rectangles, polygons, polylines, circles, and traversable-area drawing & editing
- Robotics capabilities — pose tracking, relocalization, real-time positioning, path planning & playback, task orchestration
- Zero-config engine —
maplibre-gl/three/@turf/turf/urdf-loaderbundled via npm, CSS and fonts injected at runtime automatically
pnpm add @x-humanoid-cloud/bic-mapimport bicMap from '@x-humanoid-cloud/bic-map'
await bicMap.init()
const map = bicMap.createMap({
container: 'map',
center: [116.397, 39.908],
zoom: 16
})Use as a Vue plugin (accessible via this.$bicMap):
import { createApp } from 'vue'
import bicMap from '@x-humanoid-cloud/bic-map'
import App from './App.vue'
createApp(App).use(bicMap).mount('#app')For environments without a build step (uniapp renderJS, plain <script> tags, etc.), access via window.bicMap after loading:
<script src="https://your-cdn/bicMap.ext.min.js"></script>
<script>
bicMap.init().then(() => {
const map = bicMap.createMap({ container: 'map' })
})
</script>The repository includes a built-in example portal covering 30+ examples across indoor / outdoor / basic / extended / scene categories:
pnpm install
pnpm dev # Start the example portal at https://bicmap.x-humanoid-cloud.com/Build commands:
pnpm build # Build npm package (ESM + UMD), third-party deps external
pnpm build:cdn # Build CDN version (IIFE self-contained single file)
pnpm build:web # Build example portal static site
pnpm build:all # Build both npm package and CDN version- Online Docs & Example Portal — Latest API reference and interactive preview of all examples; click any card to open the corresponding demo
| Project | Description | Repository |
|---|---|---|
| BICMap-Mobile | Mobile app built with uni-app (Vue3 + Vite), integrating BicMap via renderJS for scenes like SLAM mapping | GitHub |
| BICMap-Python | Lets Python code drive the BicMap JS SDK directly through a pywebview desktop container and JS Bridge, enabling map rendering and data visualization from Python | GitHub |
BicMap is built on top of the following open-source projects:
- MapLibre GL JS — Core map rendering engine
- Three.js — 3D model and custom layer rendering
- Turf.js — Geospatial computation
- Vue 3 + Vite — Example portal and build toolchain
- urdf-loader — URDF robot model loading
- Fabric.js — Canvas-based drawing engine for the map editor in the example portal
- PCL.js — Point cloud processing via WebAssembly
Thanks to the following developers for their contributions to BicMap:
HouserHao |
lxycreate |
yinwensong |
tianxiangLee |
Zy9907yy |
mayanhui (Yuri) |
Scan the QR code below to join our WeChat community for the latest updates and technical support:
MIT © 2024-2026 Beijing Innovation Center of Humanoid Robotics
This project bundles and redistributes several third-party open-source libraries. Their copyright and license notices are listed in THIRD-PARTY-LICENSES.md.













