如何解决Google Elevation API 错误的路径参数
我正在使用 google elevation service
我想为我的路径获取数据,其中包含大约 1k 个点。
我知道我不能将它们全部发送到除以 |
分隔符的查询中,因为我会超过请求大小限制,所以我按照编码折线算法在文档中提到的那样对这些点进行编码,并将它们发送如下:
https://maps.googleapis.com/maps/api/elevation/json?key=KEY&path=cgg%7EE%7C%7B%7EpUfcaAwe%7CG&samples=3
积分:36.578581,-118.291994|36.23998,-116.83171
点编码:cgg~E|{~pUfcaAwe|G
点编码 + urlencoded:cgg%7EE%7C%7B%7EpUfcaAwe%7CG
但我收到以下错误消息:
Invalid request. Invalid 'path' parameter.
。
当我使用非编码查询(由管道分隔符分隔的路径)向 google 询问时,我会收到正确的数据。
解决方法
path
参数要求您的编码点以 enc:
这在 documentation 中不是很清楚,我必须承认。
使用您的编码点 cgg~E|{~pUfcaAwe|G
,路径参数将变为:
path=enc:cgg~E|{~pUfcaAwe|G
概念证明:
https://maps.googleapis.com/maps/api/elevation/json?key=YOUR_API_KEY&path=enc:cgg~E|{~pUfcaAwe|G&samples=3
您必须用自己的密钥替换 YOUR_API_KEY
。
这将返回以下内容:
{
"results" : [
{
"elevation" : 4411.8828125,"location" : {
"lat" : 36.57858,"lng" : -118.29199
},"resolution" : 19.08790397644043
},{
"elevation" : 1372.885498046875,"location" : {
"lat" : 36.41150237848279,"lng" : -117.5602587614725
},"resolution" : 9.543951988220215
},{
"elevation" : -84.51690673828125,"location" : {
"lat" : 36.23998,"lng" : -116.83171
},"resolution" : 9.543951988220215
}
],"status" : "OK"
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。