为解决传统美食与旅游推荐平台缺乏底层算法控制力、过度依赖第三方重型库且缺乏离线容灾能力的问题,研发一套基于真实地理数据(菏泽市牡丹区、曹县等 9 区县)的智慧推荐与漫游规划系统。
点击空白处退出提示
语言技术
HTML5、JavaScript、TypeScript、Node.js、前端系统类型
Web行业分类
项目任务、教育校园参考价格
1000
为解决传统美食与旅游推荐平台缺乏底层算法控制力、过度依赖第三方重型库且缺乏离线容灾能力的问题,研发一套基于真实地理数据(菏泽市牡丹区、曹县等 9 区县)的智慧推荐与漫游规划系统。
# 智慧美食推荐与漫游规划系统
> 高德地图 Web 可视化配合 C++ 数据管道
---
## 📌 项目简介
系统采集菏泽市 288 条真实美食门店和 110 个景点数据作为基础数据源,通过 C++ 命令行管道对接高德地图 API 完成数据获取和加工(含坐标采集、评分提取、地址补全、营业时间解析、门店照片拉取)。前端基于原生 JavaScript 和高德 JSAPI 2.0 构建完整的交互式地图应用,提供搜索筛选、驾车和步行路线规划、收藏管理、用户画像分析、一日游智能推荐、多维度排行榜、操作历史撤销重做等功能。
**前后端均自实现**决策树、顺序栈、双向链表、邻接表无向图、Dijkstra 最短路径(含手写小顶堆)、BFS 广度优先搜索共六种数据结构。
---
## 🛠️ 技术栈与数据概况
* **数据管道**:C++17,命令行 curl 发起 HTTP 请求,定向字符串匹配解析 JSON,无外部库依赖,g++ 编译。
* **Web 前端**:原生 JavaScript + 高德地图 JSAPI 2.0,单文件交互逻辑,浏览器 `localStorage` 数据持久化。
* **存储格式**:本地管道分隔 TXT 数据 ➔ 导出为前端 JSON 数组格式。
* **数据规模**:
* **美食门店**:288 条(63 条原始 + 225 条高德 API 扩充,携 12 维标签,平均每店 16 条)
* **景点数据**:110 处(20 处原始 + 90 处扩充)
* **道路连接**:2890 条,抽象顶点 398 个
* **覆盖范围**:菏泽市 9 个区县(牡丹区、单县、曹县、郓城县、巨野县、东明县、定陶区、成武县、鄄城县)
* **完整度**:地址覆盖率 100%,门店真实照片覆盖率 96.7%
---
## 📂
高性能零依赖管道:利用 C++17 配合命令行 curl 发起 HTTP 请求,自研定向字符串状态机解析 JSON,避免引入 AST 解析器的额外内存开销;配合 Haversine 球面距离与 Jaccard 相似度算法实现空间与文本双重去重。
高可用降级规划架构:在路线规划模块采用“高德 JSAPI 真实道路规划为主,自研离线算法为辅”的双轨机制。当 API 失败时,自动触发手写小顶堆优化的 Dijkstra 算法在 2890 条本地路网图中寻路,保证系统在无网或配额耗尽下仍可正常运行。
智能推荐与画像建模:前端基于双向链表记录的收藏数据,通过对数缩放算法建立价格与品类偏好权重,驱动基于决策树的一日游组合推荐算法,实现“匹配高分美食 + 自动寻近景点 + 距离时间预估”的闭环推荐。



评论