codecamp

支付宝小程序API 计算路径

my.calculateRoute

简介

my.calculateRoute 是计算路径 API。根据起点和终点的地理位置,智能规划最佳出行路线,并计算不同出行方式下的行动距离和所需时间。

默认规划步行路线,支持规划步行、公交、骑行和驾车四种路线。

使用限制

  • 基础库 1.21.0 或更高版本;支付宝客户端 10.1.75 或更高版本,若版本较低,建议采取 兼容处理
  • 此 API 暂仅支持企业支付宝账户使用。

示例代码

//.js
my.calculateRoute({
  searchType:"bus",                // 搜索类型:"walk", "bus", "drive", "ride", 默认值为walk
  startLat:30.257839,              // 起点纬度
  startLng:120.062726,             // 起点经度
  endLat:30.256718,                // 终点纬度
  endLng:120.059985,               // 终点经度
  throughPoints:[{lat: 39.866958,lng:116.494231},{lat: 39.9357,lng:116.581092}],//途径点,仅驾车规划有效,searchType=“drive”
  mode:0,                          // 只有驾车模式和公交模式支持,可选,具体值见 mode 参数列表
  city:'hangzhou',                 // 公交模式下必填
  destinationCity:'hangzhou',      // 公交跨城模式下必填
  success:(e)=>{
    console.log(e.distance);
    console.log(e.duration);
    }
});

入参

Object 类型,属性如下:

属性 类型 必填 描述
searchType String 搜索类型:"walk", "bus", "drive", "ride";默认值为 "walk"。
startLat Number 起点纬度。
startLng Number 起点经度。
endLat Number 终点纬度。
endLng Number 终点经度。
throughPoints Array 途径点,仅驾车规划有效,即 searchType=“drive”时有效。
mode Number 仅在驾车模式和公交模式支持,具体值见 mode 参数列表
city String 公交模式下必填。传参可填写城市中文名称或城市名称拼音。例如: city:'hangzhou' 或 city:'杭州'
destinationCity String 公交跨城模式下必填。

mode 参数列表
mode bus drive
0 最快捷模式 速度优先(时间)。
1 最经济模式 费用优先(不走收费路段的最快道路)。
2 最少换乘模式 距离优先。
3 最少步行模式 不走快速路。
4 最舒适模式 结合实时交通(躲避拥堵)。
5 不乘地铁模式 多策略(同时使用速度优先、费用优先、距离优先三个策略)。
6 - 不走高速。
7 - 不走高速且避免收费。
8 - 躲避收费和拥堵。
9 - 不走高速且躲避收费和拥堵。

返回值

名称 类型 描述
success Boolean 是否成功。成功返回 true,失败返回 false。
distance Number 距离,单位为 米。
duration Number 时间,单位为 秒。

错误码

错误码信息请参见:

支付宝小程序API 地图
支付宝小程序API 键盘
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

支付宝小程序开发文档

支付宝小程序 快速示例

支付宝小程序 小程序快速示例

支付宝小程序 框架

支付宝小程序 组件

支付宝小程序组件 基础组件

支付宝小程序组件 无障碍访问

支付宝小程序 扩展组件

支付宝小程序扩展组件 UI组件

支付宝小程序 API

支付宝小程序 开发工具

支付宝小程序 云服务

支付宝小程序 Serverless

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }