064e6b5a5e3ab6897deeb19354701b698e6272ef
批 14 为了治「往返两段标记互相遮挡」,把线段沿法线左右错开画成双向车道。 实测偏移量太大,看着像画错了两条路,用户反馈「两条线偏离的非常多」。 改为**线不动、只动图标**: - **线段一律按原始坐标画**(去掉 makeSegOffsetter 与法线偏移)。往返行程 本来就是同一条路,两条线重合是正常的,用户也是这么要求的。 - **重合的图标沿这条线前后排开**:位移方向取线段**在屏幕上的方向** (makeSegDir 缓存「不分方向的同一段」的方向,A→B 与 B→A 共用), 而不是固定往右挪 —— 看上去就是同一条路上跑了两趟,图标仍落在线上。 线段太短装不下时才退到法线、最后水平兜底。 - 碰撞判定改用**中心距**(Math.hypot < 46,圆标直径 40):斜着挪 56px 时 两个方盒子在角上仍相交、用矩形判定会说「还重叠」,于是白挪一步 (图标被拉到 104px 远,看着像没关系)。 - 修一个候选列表的 bug:cand[0](原地不动)也要先判是否可用,跳过它会让 **第一枚**标记也被无谓挪开一步。 验证:真 AMap 无头浏览器用例扩到 14 项,新增两条同向断言 —— ① 实线顶点必须**逐点等于** data-route 里的原始坐标(一旦又去偏移线段就会偏离); ② 每枚图标到自己那条线的屏幕距离 <= 22px(证明是沿线排开而不是被甩到线外)。 另留一张 map15.png 截图肉眼复核。本地全链 12 步全绿(渲染检查 356 项、 真 AMap 浏览器 14 项);远端 e2e 355 项 0 失败;部署静态断言 201 条、 双 PHP 渲染逐字节一致、内容断言全过。
TripLog
家庭旅行记录
Languages
PHP
88.5%
CSS
11.5%