微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google Elevation API 错误的路径参数

如何解决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] 举报,一经查实,本站将立刻删除。