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

使用Google Directions API获取路线时遇“无法创建URL”错误求助

解决Google Directions API的「cannot create URL」错误

嘿,碰到这个问题别着急!我帮你梳理几个最可能的原因和排查方向——毕竟你其他功能都正常,大概率是构造API请求URL的时候出了格式问题:

1. 地址参数未做URL编码

这是最常见的诱因!如果你的当前位置(origin)或者目标地址里包含空格、逗号、&这类特殊字符,直接拼接成URL会破坏链接结构,导致无法创建有效的请求地址。

举个反例,这样写肯定会报错:

// 错误示例:直接拼接带空格的地址
const origin = "我的当前位置 带空格";
const url = `https://maps.googleapis.com/maps/api/directions/json?origin=${origin}&destination=目标地址&key=你的API密钥`;

正确的做法是用语言自带的URL编码函数处理地址参数,比如:

  • JavaScript用encodeURIComponent()
  • Python用urllib.parse.quote()
  • iOS用addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)

修正后的代码示例(JS):

const origin = "我的当前位置 带空格";
const encodedOrigin = encodeURIComponent(origin);
const encodedDest = encodeURIComponent("目标地址");
const correctUrl = `https://maps.googleapis.com/maps/api/directions/json?origin=${encodedOrigin}&destination=${encodedDest}&key=你的API密钥`;

2. 缺失必填参数

Google Directions API的请求必须包含三个核心参数:origin、destination、key。如果其中任何一个漏写,或者参数名拼写错误(比如把origin写成orgin),都会导致URL结构无效,触发创建失败的错误。

3. URL拼接时出现语法错误

比如多写了多余的&、?,或者字符串拼接时漏掉了引号、加号这类符号,导致URL变成了混乱的格式。

快速排查技巧

先把你构造好的URL完整打印出来(比如用console.log、print语句),然后直接复制到浏览器地址栏里访问:

  • 如果浏览器提示“无效URL”,那就是格式问题,照着上面的点修正就行
  • 如果浏览器能返回JSON(哪怕是API报错,比如密钥无效),那说明URL创建是成功的,问题可能出在其他环节

内容的提问来源于stack exchange,提问作者insta catering

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:22:52