【问题标题】:Google Elevation API wrong path parameterGoogle Elevation API 路径参数错误
【发布时间】:2021-06-02 21:43:41
【问题描述】:

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

当我用非编码查询(路径由管道分隔符分隔)询问谷歌时,我收到了正确的数据。

你有什么提示我在这里做错了吗?

【问题讨论】:

  • 我在这里没有看到任何 php 代码,为什么这个标签是 php?你忘了添加一些代码吗?
  • @DaImTo 实际上它没有与 PHP 连接,对不起。

标签: google-maps google-elevation-api


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    • 1970-01-01
    • 2013-07-25
    • 2014-05-12
    相关资源
    最近更新 更多