Files
Cloud-Tour-to-Libo/docs/MAP_POI_READ_FIX.md
T

33 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 地图 POI 读取修复与本地验证
## 修复范围
- 地图 POI 列表和详情直接读取当前项目的 FalkorDB 图谱,不再依赖 PostgreSQL 的 POI 缓存表。
- 地图相关 FalkorDB 连接统一使用已有的 `FALKORDB_HOST`、`FALKORDB_PORT`、`FALKORDB_PASSWORD` 配置。密码只在后端使用,地图页面不新增登录或配置项。
- 按 2,000 条分页读取必要的地图字段,避免批量返回完整图谱属性。兼容 `lng/lat` 和 `longitude/latitude`。
- 使用稳定点位 ID 合并旧图谱的重复标签记录;保留业务分类,排除明确标记 `map_poi=false` 的辅助节点。公交辅助节点保留在公交图层。
- 连接失败返回 503 并记录项目、图谱上下文;不再表现为成功返回 0 个 POI。
- 统计数使用当前地图区域的实际点位;项目/图谱切换后不沿用旧点位或旧请求结果。
- 保留地图模板、熊 Logo、四个分类图标和 POI 详情图片。
旧 `guiyang_new2` 项目继续兼容读取其空间图谱 `guiyang_spatial_v1`;新创建的 JSON 图谱直接读取自身,不要求固定的项目英文标识。
## 本地验证(2026-08-31)
在基于 `90f75d4`、仅应用本次地图修改的独立代码副本中验证:
- 后端单元测试:93 项通过,其中地图相关测试 20 项。
- 前端测试:44 项通过;TypeScript 检查、Vite 生产构建通过。
- 本地 `yunyou_libo`:读取 2,799 个不同 POI。
- 本地贵阳旧空间图谱:读取 80,612 个不同 POI;现有导出快照中的 80,609 个 POI 全部包含在内。旧图谱额外有 3 条餐饮点位,未为凑数删除。
- 从实际地图 JSON 抽取 2,600 个 POI,经现有 JSON 校验和 FalkorDB 导入器写入独立临时图谱:读取字段与输入一致,跨分页查询和详情 HTTP 路由均返回 200。
- 上述 POI 测试主动禁止读取 PostgreSQL POI 表;现有图谱只读,临时测试图谱完成后已删除。
复跑本地测试(需要本地 FalkorDB 中已有荔波和贵阳测试数据):
```sh
python3 scripts/verify_map_poi_read.py --map-json /path/to/map_poi_data.json
```
本地 FalkorDB 未启用密码;有/无密码时的连接参数由单元测试覆盖,未声称验证了生产密码。浏览器因停在登录页,未完成登录后的地图点击验收。以上验证不等于生产环境部署验收,也不涵盖 280 MB 文件的浏览器上传链路。本次不改上传架构、不导入或删除生产数据。