- 添加 monorepo 结构 (apps/property-survey, packages/types) - 配置 Expo + React Native + Android 构建链 - 实现本地数据层 (SQLite/better-sqlite3) - 添加 Blueprint 项目蓝图系统 - 配置 ESLint + Prettier - 添加共享类型定义
41 lines
1.7 KiB
Markdown
41 lines
1.7 KiB
Markdown
---
|
||
id: floor-map
|
||
name: 楼层地图与标记点管理
|
||
area: rn-app
|
||
status: done
|
||
---
|
||
|
||
## 概述
|
||
|
||
以 SVG/Image 占位图为底图,支持长按添加标记点、点击标记点进入编辑的交互逻辑。标记点坐标以相对比例(0~1)存储,替换真实楼层图时无需修改数据。
|
||
|
||
## 任务卡
|
||
|
||
### 📋 平面图占位容器与坐标系
|
||
- status: done
|
||
- complexity: M
|
||
- files: apps/property-survey/src/features/map/FloorMap.tsx
|
||
- depends: survey-app-shell
|
||
- acceptance: 渲染一个带灰色背景的矩形占位区域作为平面图,使用 onLayout 获取实际像素尺寸并转换相对坐标(0~1),容器宽高比固定为 4:3,适配折叠/展开两种宽度
|
||
|
||
### 📋 长按手势添加标记点
|
||
- status: done
|
||
- complexity: M
|
||
- files: apps/property-survey/src/features/map/useMarkerGesture.ts
|
||
- depends: floor-map
|
||
- acceptance: 在平面图区域长按 500ms 后触发,将触点位置转换为相对坐标并调用 insertMarker 写入数据库,新标记点立即在地图上显示,不误触短按事件
|
||
|
||
### 📋 标记点图标组件
|
||
- status: done
|
||
- complexity: M
|
||
- files: apps/property-survey/src/features/map/MapMarker.tsx
|
||
- depends: floor-map
|
||
- acceptance: 在平面图上按相对坐标绝对定位渲染图钉图标,已有物品的标记点显示蓝色图钉 + 物品数量角标,空标记点显示灰色图钉,点击触发 onPress 回调
|
||
|
||
### 📋 当前楼层标记点数据加载
|
||
- status: done
|
||
- complexity: S
|
||
- files: apps/property-survey/src/features/map/MarkerList.tsx
|
||
- depends: floor-map
|
||
- acceptance: 楼层切换时调用 getMarkersByFloor 重新查询,渲染该楼层所有 MapMarker,删除标记点时弹出确认对话框(含级联删除提示)
|