非常喜欢Google DistanceMatrix API功能,但我偶尔会得到一个我无法解释的无效请求。我已经在MAPS.GOOGLE.COM中验证了FROM和TO地址是否正确,并尝试确保解决所有特殊字符。
以下是此类调用的示例(已移除API密钥)
但是,不是仅仅解决这个特定的呼叫,是否有一个清单或一组规则来调试这个和未来的无效请求?
Google注意:如果INVALID REQUEST包含类似原因代码(可以查找)和parm是被标记的指标,那就太好了。
感谢大家!你在这里做了很棒的工作。
答案 0 :(得分:0)
是的,确实请求看起来很好。 这就是我得到的回应:
{
destination_addresses: [
"5142 Mono Ct, Fairfield, CA 94534, USA"
],
origin_addresses: [
"5085 Business Center Dr #102, Fairfield, CA 94534, USA"
],
rows: [
{
elements: [
{
distance: {
text: "1.0 mi",
value: 1668
},
duration: {
text: "4 mins",
value: 212
},
status: "OK"
}
]
}
],
status: "OK"
}
答案 1 :(得分:0)
我认为你应该URL-encode你的地址字符串。
例如,我可以在示例中看到#
符号,该符号应以编码形式的%23
替换。此符号在网址中具有特殊含义,因此可能会破坏您的请求并导致INVALID REQUEST
状态。
完成编码后,我希望得到以下请求:
https://maps.googleapis.com/maps/api/distancematrix/json?origins=5085%20Business%20Center%20Dr.%20%23102%2C%20Fairfield%2C%20CA%2094533&destinations=5142%20MONO%20CT%2C%20FAIRFIELD%2C%20CA%2094534&units=imperial&key=YOUR_API_KEY
希望这有帮助!