网约车集成地图

📅 2026/7/3 1:46:55
网约车集成地图
核心功能路线规划 — 驾车路线支持多策略最快/最短/避高速导航分段 — 返回每段路的指令、距离、时长、道路名称、转弯动作Polyline 渲染 — 路线坐标串解码后在地图上绘制折线路况状态 — 返回畅通/缓行/拥堵/严重拥堵逆地理编码 — 坐标转地址文字描述降级容错 — 高德不可用→百度→直线距离兜底核心调用流程司机端页面PickupPage / InTripPage │ ▼ 调用 routeService.ts API Gateway POST /driver/auth/routePlan │ ▼ gRPC 调用 driver-srv GetRoutePlan() │ ▼ 调用 common/pkg/map_route.go │ ├─ 优先 → 高德地图 restapi.amap.com/v3/direction/driving ├─ 回退 → 百度地图 api.map.baidu.com/direction/v2/driving └─ 兜底 → Haversine 直线距离 │ ▼ 返回统一格式 Polyline 前端 Leaflet 地图渲染路线地图集成的使用好处1. 提升用户体验实时路线引导 — 司机无需手动输入目的地系统自动规划最优路线直观展示 — 司机能清楚看到起点、终点、当前位置乘客上车点一目了然预估到达时间 — 显示距离和预计时长司机心中有数2. 保障行车安全减少手机操作 — 司机不需要边开车边看文字地址降低分心风险转弯提示 — 导航分段指令左转、右转、直行让变道更从容3.费用计算准确精准距离 — 基于实际路线距离计费而非直线距离避免绕路纠纷等待费用 — 等待乘客时有计时依据5 分钟倒计时4.提升运营效率智能派单 — 平台可根据司机位置就近派单轨迹可追溯 — 行程路线记录便于后期审核、申诉处理5.高可用容错双 Provider 策略 — 高德为主、百度兜底任一服务异常不影响业务直线距离兜底 — API 全挂时仍能基于 Haversine 公式提供粗略估算6.统一数据结构前后端解耦 — 后端统一封装 Polyline 返回格式前端只负责渲染降低维护成本可扩展性强 — 后续可轻松接入实时导航、偏航检测、多途经点等高级功能为什么要使用地图集成没有地图集成时的痛点问题说明地址模糊乘客只给文字地址如人民路5号司机难以精确定位路线未知司机不知道最优路线容易绕路、走错路费用争议按直线距离计费绕路后乘客不愿付钱效率低下司机和乘客互相找不到对方浪费时间使用地图集成后改变效果精确坐标乘客下单时获取 GPS 坐标定位到具体地点自动规划司机一键导航系统自动算出最优路线按程计价基于实际行驶路线计费有据可依快速汇合司机和乘客都能在地图上看到对方位置核心原因地图是出行平台的基础能力— 打车本质上就是从 A 点到 B 点的位移没有地图就不知道 A 在哪、B 在哪、怎么走、收多少钱。常用功能调用示例地址转经纬度地理编码调用 geocode 接口传入地址返回坐标经纬度转地址逆地理regeo 接口定位后获取省市区街道路线规划驾车 / 步行 / 公交direction 接口传入起点终点返回路线距离、时长POI 搜索周边商铺place 接口搜索酒店、停车场常见报错排查KEY 错误 / 未配置白名单检查平台应用域名、包名地图空白容器必须设置宽高定位失败HTTPS 环境、浏览器定位权限开启接口返回 INVALID_KEY密钥类型选错Web / 小程序 / 服务端 key 不通用