当前位置: 首页 > 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.gsyq.cn/news/1452838.html

相关文章:

  • Windows免费PDF处理终极指南:5分钟安装Poppler完整教程
  • Redis分布式锁进第二十五篇
  • 沈阳市黄金回收钻戒白银铂金彩金回收门店优选+2026年6月最新黄金回收TOP5靠谱店铺排行榜及电话 - 资讯纵览
  • 从医疗分割到图像修复:手把手拆解UNet的“跨界”成功学
  • 大鼠卫星胶质(Satellite Glial Cells)细胞原代培养技术的建立与应用 真实实验结果呈现
  • 给非数学专业同学的建议:想真正搞懂微积分,该看《高等数学》还是《数学分析》?
  • 聚光投放3大误区:钱白花了?
  • 基于噪声信道模型的搜索拼写纠错系统设计与实战
  • 掌握AI写专著技巧:借助AI专著生成工具,快速完成20万字大作
  • 外卖点餐微信小程序前端源码,开箱即用,含全套页面资源与工具脚本
  • 测绘人工具箱大揭秘:除了CASS11,Global Mapper 18.2和EPS2020在项目中怎么选怎么用?
  • KeePass进阶玩法:巧用AutoTypeSearch插件,在远程桌面和虚拟机里也能一键输密码
  • Android Studio一键运行的2048安卓游戏工程(含启动页与团队协作终版)
  • 通化SEO优化公司|企业网站排名提升,通化搜索引擎优化服务商选择指南 - 招财兔数字员工
  • 2026海南GEO优化服务商TOP5深度测评:环岛AI智推凭什么拿下本土第一? - 环岛AI智推GEO系统
  • LVGL多页面开发避坑:用内部Timer替代全局变量轮询,解决内存踩踏问题
  • 2026年广州影视宣传片制作价格大揭秘,优选参考为你省钱又省心! - 企业推荐官
  • 手把手教你泡泡玛特session_sign/X-sign算法
  • 别再只盯着网速了!用Wireshark和PingPlotter实测,搞懂Jitter和RTT如何影响你的在线会议和游戏
  • 手机号码定位工具:3步实现快速免费地理位置查询
  • OpenWRT软件中心iStore:重塑路由器插件生态的技术架构解析
  • 告别手动部署!用WIX Toolset v4为你的.NET 7 WinForm程序制作专业安装包(含Bundle引导程序)
  • Unity 2021+ 开发者的福音:一个快捷键搞定脚本重载,告别每次Ctrl+S后的漫长等待
  • 深度揭秘 2026 台州财税公司靠谱代理记账机构排行,公司注册代办口碑推荐 - 品牌智鉴榜
  • 为什么做 AI API 成本计算器:从 Claude 账单到上线预算
  • 新乡 cppm 采购经理证书在哪里报考及联系电话 - 中供国培
  • 告别端口转发!用Tailscale在校园网内外无缝访问群晖NAS(保姆级配置)
  • 2026年Q2浙江GEO公司哪家好?权威排名评价与核心业务范围全解析 | 浙江企业分场景GEO选型指南 - 安互工业信息
  • 如何快速配置游戏插件框架:完整实战指南
  • MICRO-48技术雷达:从存内计算到缓存一致性,体系结构前沿全解析