Skip to content

地图事件回调

了解 RobotMap 的地图事件回调,用于响应地图的各种交互和状态变化。

使用示例

地图事件回调通过组件 props 传递,当地图发生相应的交互或状态变化时会自动触发。所有回调都是可选的,只需要传入你关心的回调函数。

tsx
import React from 'react'
import { RobotMap } from '@ray-js/robot-map'

function MapPage() {
  return (
    <RobotMap
      onMapDrawed={(mapState) => {
        console.log('地图绘制完成', mapState)
      }}
      onClickRoom={(room) => {
        console.log('点击了房间', room)
      }}
      onUpdateCleanZone={(zone) => {
        console.log('清扫区域已更新', zone)
      }}
      // ... 其他属性
    />
  )
}

onMapFirstDrawed

地图首次绘制完成回调。

类型:

ts
function onMapFirstDrawed(mapState: MapState): void

参数:

  • mapState: MapState - 地图状态信息,包含地图尺寸、原点、充电桩等信息。

返回值: void

TIP

只有首次绘制完成后,才会触发此回调。你可以利用它来移除 Loading 状态。

onMapDrawed

地图绘制完成回调。

类型:

ts
function onMapDrawed(mapState: MapState): void

参数:

  • mapState: MapState - 地图状态信息,包含地图尺寸、原点、充电桩等信息。

返回值: void

onPathDrawed

路径绘制完成回调。

类型:

ts
function onPathDrawed(pathState: PathState): void

参数:

  • pathState: PathState - 路径状态信息,包含路径ID、类型、机器人位置等。

返回值: void

onRoomPropertiesDrawed

房间信息绘制完成回调。

类型:

ts
function onRoomPropertiesDrawed(rooms: RoomProperty[]): void

参数:

返回值: void

onClickRoom

点击房间回调。

类型:

ts
function onClickRoom(room: Partial<RoomData>): void

参数:

  • room: RoomData - 被点击的房间信息。

返回值: void

onClickRoomProperties

点击房间信息回调。

类型:

ts
function onClickRoomProperties(room: RoomData): void

参数:

  • room: RoomData - 被点击的房间信息。

返回值: void

onRemoveForbiddenSweepZone

点击禁扫区域删除按钮的回调。

类型:

ts
function onRemoveForbiddenSweepZone(id: string): void

参数:

  • id: string - 操作对应的禁扫区域ID。

返回值: void

onRemoveForbiddenMopZone

点击禁拖区域删除按钮的回调。

类型:

ts
function onRemoveForbiddenMopZone(id: string): void

参数:

  • id: string - 操作对应的禁拖区域ID。

返回值: void

onRemoveCleanZone

点击清扫区域删除按钮的回调。

类型:

ts
function onRemoveCleanZone(id: string): void

参数:

  • id: string - 操作对应的清扫区域ID。

返回值: void

onRemoveVirtualWall

点击虚拟墙删除按钮的回调。

类型:

ts
function onRemoveVirtualWall(id: string): void

参数:

  • id: string - 操作对应的虚拟墙ID。

返回值: void

onUpdateForbiddenSweepZone

更新禁扫区域回调。当用户操作禁扫区域(如拖拽、缩放)后触发。

类型:

ts
function onUpdateForbiddenSweepZone(zone: ZoneParam): void

参数:

  • zone: ZoneParam - 更新后的禁扫区域数据。

返回值: void

onUpdateForbiddenMopZone

更新禁拖区域回调。当用户操作禁拖区域(如拖拽、缩放)后触发。

类型:

ts
function onUpdateForbiddenMopZone(zone: ZoneParam): void

参数:

  • zone: ZoneParam - 更新后的禁拖区域数据。

返回值: void

onUpdateCleanZone

更新清扫区域回调。

类型:

ts
function onUpdateCleanZone(zone: ZoneParam): void

参数:

  • zone: ZoneParam - 更新后的清扫区域数据。

返回值: void

onUpdateVirtualWall

更新虚拟墙回调。

类型:

ts
function onUpdateVirtualWall(wall: VirtualWallParam): void

参数:

返回值: void

onUpdateSpot

更新定点清扫回调。

类型:

ts
function onUpdateSpot(spot: SpotParam): void

参数:

  • spot: SpotParam - 更新后的定点清扫数据。

返回值: void

onClickForbiddenSweepZone

点击禁扫区域回调。

类型:

ts
function onClickForbiddenSweepZone(zone: ZoneParam): void

参数:

  • zone: ZoneParam - 被点击的禁扫区域数据。

返回值: void

onClickForbiddenMopZone

点击禁拖区域回调。

类型:

ts
function onClickForbiddenMopZone(zone: ZoneParam): void

参数:

  • zone: ZoneParam - 被点击的禁拖区域数据。

返回值: void

onClickCleanZone

点击清扫区域回调。

类型:

ts
function onClickCleanZone(zone: ZoneParam): void

参数:

  • zone: ZoneParam - 被点击的清扫区域数据。

返回值: void

onClickVirtualWall

点击虚拟墙回调。

类型:

ts
function onClickVirtualWall(wall: VirtualWallParam): void

参数:

返回值: void

onClickSpot

点击定点清扫回调。

类型:

ts
function onClickSpot(spot: SpotParam): void

参数:

  • spot: SpotParam - 被点击的定点清扫数据。

返回值: void

onClickDetectedObject

点击检测物体回调。

类型:

ts
function onClickDetectedObject(object: DetectedObjectParam): void

参数:

返回值: void

onClickCustomElement

点击自定义元素回调。

类型:

ts
function onClickCustomElement(element: CustomElementParam): void

参数:

返回值: void

onUpdateDivider

更新分割线回调。

类型:

ts
function onUpdateDivider(divider: Point[]): void

参数:

  • divider: Point[] - 更新后的分割线数据。

返回值: void

onClickMap

地图点击回调。

类型:

ts
function onClickMap(point: Point): void

参数:

  • point: Point - 点击位置的地图坐标。

返回值: void

TIP

只有启用 runtime.enableMapClickCapture 后,才会触发此回调。