hejianhao
2026-06-30 196fd9a375ea43e072083f837a5fa9659059718b
Merge branch 'feature_v2.0' into hc/630_ui_ue
1个文件已修改
12 ■■■■■ 已修改文件
src/robotaxi/pages/begin-route/hooks/use-map-markers.ts 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/begin-route/hooks/use-map-markers.ts
@@ -372,13 +372,13 @@
          buildCarMarkerStructureSignature(nextCar);
        const latestVehicleLatitude = Number(deps.vehicleLocation?.latitude);
        const latestVehicleLongitude = Number(deps.vehicleLocation?.longitude);
        // 车辆在签名中以 'translate' 占位,签名差异只可能来自非车辆 marker(如终点从新目的地回退到原目的地)。
        // 因此仅当非车辆 marker 结构未变、车辆结构未变且无需清理朝向时才保留旧 marker,否则必须应用最新 marker,避免终点/上车点残留。
        if (!shouldRefreshCarMarkerStructure) {
          return prevMarkers;
        }
        // 签名差异中车辆位置/朝向以 'translate' 占位,因此差异只可能来自非车辆 marker
        // (如修改目的地取消后,终点从未确认的新目的地回退到原目的地)。此时必须应用最新 marker,
        // 否则会保留旧的下车点 marker/气泡,导致终点与车辆实际路线不一致。
        // 车辆结构未变时沿用上一帧车辆 marker 的结构字段,仅同步最新坐标,避免不必要的原生车标重建。
        const carMarkerSource = shouldRefreshCarMarkerStructure ? nextCar : prevCar;
        mergedMarkers[nextCarIndex] = {
          ...nextCar,
          ...carMarkerSource,
          // 平移态下车辆朝向只由 translateMarker 控制,React 仅负责结构和坐标占位。
          latitude: Number.isFinite(latestVehicleLatitude)
            ? latestVehicleLatitude