有哪些规则可以避免对GOOGLE API DIstance矩阵调用进行无效请求?

时间:2018-01-12 18:13:06

标签: google-maps google-api google-distancematrix-api

非常喜欢Google DistanceMatrix API功能,但我偶尔会得到一个我无法解释的无效请求。我已经在MAPS.GOOGLE.COM中验证了FROM和TO地址是否正确,并尝试确保解决所有特殊字符。

以下是此类调用的示例(已移除API密钥)

https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=5085+Business+Center+Dr.+#102%2CFairfield%2CCA+94533&destinations=5142+MONO+CT%2CFAIRFIELD%2CCA+94534&key=(api_key)

但是,不是仅仅解决这个特定的呼叫,是否有一个清单或一组规则来调试这个和未来的无效请求?

Google注意:如果INVALID REQUEST包含类似原因代码(可以查找)和parm是被标记的指标,那就太好了。

感谢大家!你在这里做了很棒的工作。

2 个答案:

答案 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

希望这有帮助!