Google 海拔 API 路径参数错误

Google Elevation API wrong path parameter

我正在使用 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

这个 returns 以下:

{
   "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"
}