ITPub博客

首页 > 架构设计 > 操作系统 > 多种路径规划方案,满足应用个性化导航需求

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

原创 操作系统 作者:HarmonyOS SDK 时间:2025-02-06 14:40:12 0 删除 编辑

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

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.");
}

了解更多详情>>

访问 地图服务联盟官网

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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70003787/viewspace-3071168/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
HarmonyOS SDK技术团队。分享最新的技术干货,带来最全的能力应用场景,更新热门开发者圈子活动。与开发者一起,同成长,共精彩。

注册时间:2021-07-15

  • 博文量
    627
  • 访问量
    729859