Skip to content

Commit f560b9d

Browse files
committed
fix: 公交导航语义修复 + 店铺坐标去重 (v4.8.3)
导航: navigateToStation 按 role 区分出发/到达站,到达站直达目的地不再跨城步行 坐标: 5 对重复坐标回填 Nominatim 真实坐标(8/10 命中,2 家无 POI 保留) CHANGELOG 同步
1 parent dbf1ca0 commit f560b9d

4 files changed

Lines changed: 85 additions & 23 deletions

File tree

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,14 @@
77

88
---
99

10+
## [4.8.3] - 2026-08-30
11+
12+
### Fixed(修复)
13+
- **公交导航语义修复**`navigateToStation` 增加 `role` 参数区分出发站/到达站——出发站保持步行到站;到达站不再生成「从当前位置跨城走到下车点」的不合理路线,改为直接导航至最终目的地、下车点仅作接近检测;UI 按钮文案与到站提示按阶段区分
14+
- **坐标去重**:5 对 10 家店铺重复坐标以 OSM/Nominatim 真实坐标回填(8 家命中、2 家无 POI 保留原值),全文件 176 家坐标无重复
15+
16+
---
17+
1018
## [4.8.2] - 2026-08-30
1119

1220
### Fixed(修复)

src/components/navigation/NavigationPanel.tsx

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ export function NavigationPanel() {
179179
const userPosition = useNavigationStore(s => s.userPosition)
180180
const hasArrivedAtWaypoint = useNavigationStore(s => s.hasArrivedAtWaypoint)
181181
const finalDestination = useNavigationStore(s => s.finalDestination)
182+
const waypointRole = useNavigationStore(s => s.waypointRole)
182183

183184
const stepRefs = useRef<(HTMLDivElement | null)[]>([])
184185
const prevIsRouting = useRef(isRouting)
@@ -471,7 +472,7 @@ export function NavigationPanel() {
471472
hasArrivedAtWaypoint ? 'text-green-700' : 'text-blue-600',
472473
)}>
473474
{hasArrivedAtWaypoint
474-
? '已到达车站 · 可选择继续导航'
475+
? (waypointRole === 'dest' ? '已到达下车点' : '已到达出发站')
475476
: `正在追踪 · 第 ${activeStepIndex + 1}/${route.steps.length} 步`}
476477
</span>
477478
</div>
@@ -494,10 +495,14 @@ export function NavigationPanel() {
494495
<polyline points="20 6 9 17 4 12"/>
495496
</svg>
496497
</div>
497-
<p className="text-sm font-semibold text-green-700">已到达车站</p>
498+
<p className="text-sm font-semibold text-green-700">
499+
{waypointRole === 'dest' ? '已到达下车点' : '已到达出发站'}
500+
</p>
498501
</div>
499502
<p className="text-xs text-green-600">
500-
已到达 {destination?.name},是否继续导航至最终目的地 {finalDestination.name}
503+
{waypointRole === 'dest'
504+
? `已到达下车点,步行至目的地 ${finalDestination.name}`
505+
: `已到达出发站,请乘车前往最终目的地 ${finalDestination.name}?`}
501506
</p>
502507
<div className="flex gap-2">
503508
<button
@@ -637,9 +642,9 @@ export function NavigationPanel() {
637642
{selectedOriginStation && (
638643
<StationWalkCard
639644
station={selectedOriginStation}
640-
label="步行到车站"
645+
label="步行到出发站"
641646
prefix="出发"
642-
onNavigate={() => useNavigationStore.getState().navigateToStation(selectedOriginStation)}
647+
onNavigate={() => useNavigationStore.getState().navigateToStation(selectedOriginStation, 'origin')}
643648
/>
644649
)}
645650
</div>
@@ -678,9 +683,9 @@ export function NavigationPanel() {
678683
{selectedStation && (
679684
<StationWalkCard
680685
station={selectedStation}
681-
label="步行到车站"
686+
label="乘车至此 · 步行到店"
682687
prefix="到达"
683-
onNavigate={() => useNavigationStore.getState().navigateToStation(selectedStation)}
688+
onNavigate={() => useNavigationStore.getState().navigateToStation(selectedStation, 'dest')}
684689
/>
685690
)}
686691
</div>

0 commit comments

Comments
 (0)