当前位置: 首页 > news >正文

鸿蒙 地图开发:出行路线规划

开发中,路线规划是导航类应用的核心功能。Map Kit提供了两点之间驾车、步行、骑行和公共交通的路径规划能力。

功能包含:

  • 四种路线规划方式:驾车、步行、骑行、公共交通

  • 驾车规划的特殊功能:途经点、多条路线、未来出行、实时路况

一、路线规划

Map Kit提供以下路线规划能力:

规划类型说明版本要求
驾车路径规划支持途经点,最多5个-
步行路径规划支持直线距离150km以内-
骑行路径规划支持直线距离500km以内-
公共交通规划公交、地铁等中转路线5.1.1(19)+,仅中国大陆

二、核心接口

接口描述
getDrivingRoutes(params)驾车路径规划
getWalkingRoutes(params)步行路径规划
getCyclingRoutes(params)骑行路径规划
getTransitRoutes(context, params)公共交通规划

参数类型

参数类型说明
DrivingRouteParams驾车路径规划的参数
RouteParams步行、骑行路径规划的参数
TransitRouteParams公共交通规划的参数

返回结果类型

返回类型说明
RouteResult路径规划的结果
TransitRouteResult公共交通规划的结果

三、开发步骤

3.1 导入模块

import { navi } from '@kit.MapKit'; import { BusinessError } from '@kit.BasicServicesKit';

四、驾车路径规划

驾车路径规划支持以下功能:

功能说明
多条路线一次请求最多返回3条路线
途经点最多支持5个途经点
未来出行规划支持未来时间出行规划
实时路况根据实时路况进行合理路线规划
路线偏好时间最短、避免收费、避开高速、距离优先等
async testDrivingRoutes() { let params: navi.DrivingRouteParams = { // 起点的经纬度(支持多个起点) origins: [{ latitude: 31.982129213545843, longitude: 120.27745557768591 }], // 终点的经纬度 destination: { latitude: 31.986129213545843, longitude: 120.32745557768591 }, // 路径的途经点(最多5个) waypoints: [ { latitude: 31.967236140819114, longitude: 120.27142088866847 }, { latitude: 31.972868002238872, longitude: 120.2943211817165 }, { latitude: 31.98469327973332, longitude: 120.29101107384068 } ], language: 'zh_CN' }; try { const result = await navi.getDrivingRoutes(params); console.info(`Succeeded in getting driving routes. result is ${JSON.stringify(result)}`); } catch (error) { const err: BusinessError = error as BusinessError; console.error(`Failed in getting driving routes. Code is ${err.code}, message is ${err.message}`); } }

五、步行路径规划

步行路径规划支持以下功能:

功能说明
距离限制直线距离150km以内
出行策略

时间最短、避免轮渡

async testWalkingRoutes() { let params: navi.RouteParams = { // 起点的经纬度(支持多个起点) origins: [ { latitude: 39.992281, longitude: 116.31088 }, { latitude: 39.996, longitude: 116.311 } ], // 终点的经纬度 destination: { latitude: 39.94, longitude: 116.311 }, language: 'zh_CN' }; try { const result = await navi.getWalkingRoutes(params); console.info(`Succeeded in getting walking routes. result is ${JSON.stringify(result)}`); } catch (error) { const err: BusinessError = error as BusinessError; console.error(`Failed in getting walking routes. Code is ${err.code}, message is ${err.message}`); } }

六、骑行路径规划

骑行路径规划支持以下功能:

功能说明
距离限制直线距离500km以内
出行策略时间最短、避免轮渡
async testCyclingRoutes() { let params: navi.RouteParams = { // 起点的经纬度 origins: [{ latitude: 31.9844102, longitude: 118.7662537 }], // 终点的经纬度 destination: { latitude: 31.9874102, longitude: 118.7362537 }, language: 'zh_CN' }; try { const result = await navi.getCyclingRoutes(params); console.info(`Succeeded in getting cycling routes. result is ${JSON.stringify(result)}`); } catch (error) { const err: BusinessError = error as BusinessError; console.error(`Failed in getting cycling routes. Code is ${err.code}, message is ${err.message}`); } }

七、公共交通规划

公共交通规划根据起点终点坐标,返回两地之间的多种公共交通中转路线(公交、地铁等)。

功能说明
适用范围仅支持中国大陆
版本要求5.1.1(19)开始支持
参数需要传入Context上下文
async testGetTransitRoutes() { let params: navi.TransitRouteParams = { // 起点经纬度 origin: { latitude: 39.921619, longitude: 116.356587 }, // 终点经纬度 destination: { latitude: 39.94161, longitude: 116.353621 }, // 设置出发时间为当前时间(单位秒) departureTime: new Date().getTime() / 1000 }; try { const result = await navi.getTransitRoutes(this.getUIContext().getHostContext(), params); console.info(`Succeeded in getting transit routes. result is ${JSON.stringify(result)}`); } catch (error) { const err: BusinessError = error as BusinessError; console.error(`Failed in getting transit routes. Code is ${err.code}, message is ${err.message}`); } }

八、参数类型

8.1 DrivingRouteParams(驾车)

参数类型说明
originsLatLng[]起点经纬度(支持多个)
destinationLatLng终点经纬度
waypointsLatLng[]途经点(最多5个)
languagestring语言类型

8.2 RouteParams(步行/骑行)

参数类型说明
originsLatLng[]起点经纬度(支持多个)
destinationLatLng终点经纬度
languagestring语言类型

8.3 TransitRouteParams(公共交通)

参数类型说明
originLatLng起点经纬度
destinationLatLng终点经纬度
departureTimenumber出发时间(单位秒)

九、四种路线规划对比

规划类型接口距离限制途经点版本要求
驾车getDrivingRoutes-最多5个-
步行getWalkingRoutes150km以内不支持-
骑行getCyclingRoutes500km以内不支持-
公共交通getTransitRoutes仅中国大陆不支持5.1.1(19)+

驾车规划特有功能

功能说明
多条路线一次请求最多返回3条路线
途经点最多支持5个途经点
未来出行规划支持未来时间出行
实时路况根据实时路况规划
路线偏好时间最短、避免收费、避开高速、距离优先等
http://www.jsqmd.com/news/941405/

相关文章:

  • Windows免费PDF处理终极指南:5分钟安装Poppler完整教程
  • 镇江黄金回收避坑指南:称重纯度结算三大隐坑全解析 - 专业黄金回收
  • ThingsBoard规则链实战:除了高温报警,你还能轻松实现这5种设备异常预警
  • Redis分布式锁进第二十五篇
  • 被低估的Lindy元数据能力:1行代码调用237个预置连接器,释放87%重复开发人力(附内部白皮书节选)
  • 光猫改桥接后,手把手教你用OpenWRT软路由拨号上网(保姆级图文)
  • 长沙金价高位运行,居民卖金热情高涨如何把握变现时机 - 专业黄金回收
  • 沈阳市黄金回收钻戒白银铂金彩金回收门店优选+2026年6月最新黄金回收TOP5靠谱店铺排行榜及电话 - 资讯纵览
  • 告别第三方App!手把手教你用xdisp_virt在Windows上搭建AirPlay接收端(支持iOS/iPad投屏)
  • 曲靖SEO优化公司|企业网站排名提升,曲靖搜索引擎优化服务商选择指南 - 招财兔数字员工
  • 别再只会抄参考电路了!深度拆解MP1584EN数据手册,搞懂DCDC每个外围元件的“为什么”
  • 别再用 try-catch 包 router.push 了!聊聊 Vue Router 导航失败的优雅处理方案
  • 从医疗分割到图像修复:手把手拆解UNet的“跨界”成功学
  • 大鼠卫星胶质(Satellite Glial Cells)细胞原代培养技术的建立与应用 真实实验结果呈现
  • 【AI工具付费决策指南】:20年IT老兵亲测17款主流AI工具,付费版ROI究竟值不值?
  • 聚光投放3大误区:钱白花了?
  • 2026年浙江线下考研机构实力排行:新文道考研位列榜首,这份榜单值得收藏 - 玖叁鹿
  • 给非数学专业同学的建议:想真正搞懂微积分,该看《高等数学》还是《数学分析》?
  • OpenClaw 一键部署实操教程|新手快速搭建 AI 自动化环境
  • 告别OneNET应用模拟器调试超时:从设备日志与MQTT订阅入手,彻底搞懂属性上报与设置
  • RISC-V架构入门:从模块化指令集到特权级设计的核心解析
  • 河北单招培训机构排行:本土实力品牌深度盘点 - 奔跑123
  • 基于噪声信道模型的搜索拼写纠错系统设计与实战
  • 【2026最新版】Dev-C++下载安装和使用超详细图解(附安装包) - sdfsafafa
  • 外卖点餐微信小程序前端源码,开箱即用,含全套页面资源与工具脚本
  • 掌握AI写专著技巧:借助AI专著生成工具,快速完成20万字大作
  • 避坑指南:STM32连接广和通L610模块上腾讯云,我踩过的那些驱动和AT指令的坑
  • 不止于连接:uni-app蓝牙项目实战,如何优雅处理特征值变化的‘消息轰炸’?
  • Vitis HLS 2023.2实战:手把手教你用官方Vision库实现图像霍夫变换(从库下载到C仿真成功)
  • 30岁转行网络安全是逆袭还是幻想?资深HR揭残酷真相!附网安学习资料可收藏