API 概览
BicMap 提供了一套完整的地图交互 API,涵盖从地图初始化到高级渲染的全流程。
API 模块
| 模块 | 主要方法 | 说明 |
|---|---|---|
| 地图初始化 | bicMap.init() · bicMap.createMap() | 初始化引擎,创建地图实例 |
| 基础操作 | map.flyTo() · map.setCenter() | 视角控制、缩放、旋转等 |
| 标记功能 | addDirectionalMarker() · addBatchPOIMarkers() · addRobotMarkers() | 方向标记、批量 POI、机器人标记 |
| 绘制功能 | enablePolygonDrawing() · enablePolylineDrawing() · enableRectangleDrawing() | 多边形、折线、矩形绘制 |
| 要素功能 | createPolygons() · createPolylines() · createWideLines() | 静态要素展示与编辑 |
| 点云渲染 | createPointCloud() | WebGL 点云渲染 |
| SLAM 地图 | bicMap.loadSlamMap() | SLAM 建图数据加载与显示 |
| 工具函数 | MapUtils.GPSToCartesian() · bicMap.turf | 坐标转换、几何计算 |
全局对象
js
import bicMap from '@x-humanoid-cloud/bic-map'bicMap 是全局单例对象,所有 API 都挂载在它上面。
初始化流程
js
// 必须先 init,再 createMap
await bicMap.init()
const map = bicMap.createMap({ container: 'map', zoom: 13 })
map.on('load', () => {
// 在 load 事件后调用其他 API
bicMap.addZoomControl(map, 'bottom-right')
})WARNING
所有地图操作 API 必须在 map.on('load', ...) 之后调用,确保地图已完成加载。
控制器对象
大多数 API 会返回一个控制器对象,用于后续管理:
js
const markersController = bicMap.addBatchPOIMarkers(map, points, options)
// 后续操作通过控制器进行
markersController.updateMarkers(newPoints)
markersController.selectById('poi-1')
markersController.remove() // 销毁并清理内存管理
组件卸载(onBeforeUnmount)时,记得调用各控制器的 .remove() 方法清理资源,防止内存泄漏。

