建议在行程功能上添加行程轨迹功能
Open
Nobody has claimed this yet.
enhancement
status: pending-review
- Dominant language
- Python
- Stars
- 739
- Forks
- 97
- Avg merge
- 10h 3m
- Merged PRs (30d)
- 82
Description
这个功能解决什么问题?
建议在行程功能上添加行程轨迹功能
您建议的解决方案是什么?
Role: 资深前端与 WebGL/GIS 动画交互专家
Objective:
请帮我设计并实现一个“3D 动态旅行路线轨迹可视化”组件/应用。
Functional Requirements:
-
全局 3D 地球视角(3D Globe):
- 页面初始呈现一个可旋转、可缩放的 3D 地球仪地图。
- 地球仪上标注出整体旅行涉及的关键节点(城市/景点)。
-
时间轴/日期点击交互(Timeline/Date Trigger):
- 界面底部或侧边提供一个可点击/切换的“旅行日期轴”(Timeline)。
- 当用户点击具体某一天的日期时,触发对应日期的行程联动。
-
细节卡片/票据展示(Card/Details Display):
- 点击日期后,在界面弹窗或侧边栏展示该天的行程凭证与信息,包括:车票、机票、船票、景点门票以及带有地理定位的行程照片(图片定位)。
-
地球视角切换与轨迹动画(Camera Movement & Route Animation):
- 点击具体日期后,3D 地球视角(Camera)需平滑放大(Zoom In)并平移(FlyTo)过渡到该天对应的地理区域(定位坐标)。
- 视角到达指定区域后,自动播放该天内的移动轨迹动画(如从 A 点到 B 点的动态画线/粒子路径/航线抛物线)。
Technical Stack Suggestions:
- 建议使用 Three.js / Cesium.js / Mapbox GL JS / Leaflet 中的一种(请给出推荐理由)。
- 结合 GSAP(GreenSock)进行相机的镜头平滑过渡和 UI 动画处理。
Deliverables:
- 系统架构与交互流程简述。
- 核心代码实现框架(重点在于:相机视角平滑过渡 FlyTo、轨迹渲染画线动画、日期事件监听与 UI 卡片联动)。
- 关键数据结构设计(JSON 格式,包含日期、经纬度坐标、轨迹点、票据信息、定位图片路径等)。
您考虑过哪些替代方案?
No response
其他上下文
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are identified in the issue. First survey the existing trip, photo, and frontend architecture, then define the route data and interaction boundaries before evaluating Three.js or the other suggested mapping options; done means a documented architecture and working timeline, globe navigation, route animation, and detail-card flow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- three.js
- Domain
- computer-graphics, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100