多种路径规划方案,满足应用个性化导航需求

在快节奏的都市生活中,路径规划已成为日常出行的核心环节。用户无论前往何地,都期望能够迅速获取所有可能的路线,并根据预估的出行时间,轻松挑选出最适合自己的出行方案。在现代生活中,路径规划的需求无处不在,从导航应用中的个性化路线推荐,到外卖服务中的高效配送规划,路径规划服务正以其智能化和个性化,大大提升了用户的生活品质。

HarmonyOS SDK地图服务(Map Kit)的路径规划功能,提供两点之间步行、骑行、驾车的路径规划能力,其中驾车路径规划支持添加途径点,还提供多点之间步行、骑行、驾车的批量算路功能。不仅如此,地图服务还可以根据不同的交通工具及实时路况信息,给出不同路径规划方案及预估到达时间。


功能介绍

1.驾车路径规划

根据起终点坐标检索符合条件的驾车路径规划方案。支持以下功能:

支持一次请求返回多条路线,最多支持3条路线。

最多支持5个途经点。

支持未来出行规划。

支持根据实时路况进行合理路线规划。

支持多种路线偏好选择,如时间最短、避免经过收费的公路、避开高速公路、距离优先等。

2.步行路径规划

根据起终点坐标检索符合条件的步行路径规划方案。支持以下功能:

支持150km以内的步行路径规划能力。

融入出行策略(时间最短、避免轮渡)。

3.骑行路径规划

根据起终点坐标检索符合条件的骑行路径规划方案。支持以下功能:

支持500km以内的骑行路径规划能力。

融入出行策略(时间最短、避免轮渡)。

开发步骤

1.导入相关模块

复制代码
import { navi } from '@kit.MapKit';

2.路径规划开发

1)驾车路径规划

复制代码
async testDrivingRoutes(){
  let params: navi.DrivingRouteParams = {
    // 起点的经纬度
    origins: [{
      "latitude": 31.982129213545843,
      "longitude": 120.27745557768591
    }],
    // 终点的经纬度
    destination: {
      "latitude": 31.982129213545843,
      "longitude": 120.27745557768591
    },
    // 路径的途经点
    waypoints: [{ "latitude": 31.967236140819114, "longitude": 120.27142088866847 },
      { "latitude": 31.972868002238872, "longitude": 120.2943211817165 },
      { "latitude": 31.98469327973332, "longitude": 120.29101107384068 }],
    language: "zh_CN"
  };
  const result = await navi.getDrivingRoutes(params);
  console.info("Succeeded in getting driving routes.");
}

2)步行路径规划

复制代码
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"
  };
  const result = await navi.getWalkingRoutes(params);
  console.info("Succeeded in getting walking routes.");
}

3)骑行路径规划

复制代码
async testCyclingRoutes(){
  let params: navi.RouteParams = {
    // 起点的经纬度
    origins: [{ latitude: 54.216608, longitude: -4.66529 }],
    // 终点的经纬度
    destination: { latitude: 54.2166, longitude: -4.66552 },
    language: "zh_CN"
  };
  const result = await navi.getCyclingRoutes(params);
  console.info("Succeeded in getting cycling routes.");
}

了解更多详情>>

访问地图服务联盟官网

获取路径规划能力开发指导文档

相关推荐
zhanshuo3 小时前
构建可扩展的状态系统:基于 ArkTS 的模块化状态管理设计与实现
harmonyos
zhanshuo3 小时前
ArkTS 模块通信全解析:用事件总线实现页面消息联动
harmonyos
codefish7988 小时前
鸿蒙开发学习之路:从入门到实践的全面指南
harmonyos
yrjw14 小时前
一款基于react-native harmonyOS 封装的【文档】文件预览查看开源库(基于Harmony 原生文件预览服务进行封装)
harmonyos
搜狐技术产品小编20231 天前
搜狐新闻直播间适配HarmonyOs实现点赞动画
华为·harmonyos
zhanshuo1 天前
ArkUI 玩转水平滑动视图:超全实战教程与项目应用解析
harmonyos·arkui
zhanshuo1 天前
ArkUI Canvas 实战:快速绘制柱状图图表组件
harmonyos·arkui
zhanshuo2 天前
手把手教你用 ArkUI 写出高性能分页列表:List + onScroll 实战解析
harmonyos
zhanshuo2 天前
深入解析 ArkUI 触摸事件机制:从点击到滑动的开发全流程
harmonyos
i仙银2 天前
鸿蒙沙箱浏览器 - SandboxFinder
app·harmonyos