You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建含多个途经点的Android Intent以打开高德地图(AMAP)

Android 调用高德地图添加多途经点的正确方式

你之前用waypoints参数无效是因为高德官方的URI导航接口并不支持这个参数,官方文档里指定途经点的正确参数是via,以下是整理后的官方文档核心内容(原英文文档翻译)及实现方案:

官方支持的途经点参数规则

高德地图URI导航接口中,途经点通过via参数传递,格式要求:

  • 多个途经点之间用|分隔
  • 单个途经点格式为 纬度,经度 或 纬度,经度,途经点名称
  • 最多支持添加16个途经点

正确的代码实现示例

// 构建途经点字符串,多途经点用|分隔
String waypoints = "39.908860,116.397390,天安门|39.915168,116.403875,故宫";
// 构建完整的高德地图URI
String uri = "amapuri://route/plan/?dlat=39.928882&dlon=116.388301&dname=北京西站"
        + "&via=" + waypoints
        + "&dev=0" // 0表示网络定位,1表示GPS定位
        + "&t=0";  // 0=驾车,1=公交,2=步行,3=骑行
// 启动高德地图Intent
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
// 指定包名,确保唤起高德地图而非其他地图应用
intent.setPackage("com.autonavi.minimap");
startActivity(intent);

额外参数说明

  • 若需指定起点,可添加slat(起点纬度)、slon(起点经度)、sname(起点名称)参数,不指定则自动获取当前位置
  • 途经点名称若含特殊字符,需用URLEncoder.encode(名称, "UTF-8")进行URL编码,避免参数解析失败

内容的提问来源于stack exchange,提问作者Leonardo Campanha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 14:22:34