【问题标题】:Google Maps GeoCoding... INVALID_REQUEST?Google 地图地理编码... INVALID_REQUEST?
【发布时间】:2015-07-04 07:47:43
【问题描述】:

我正在尝试找出返回以下 URL 的原因:

<GeocodeResponse>
<status>INVALID_REQUEST</status>
</GeocodeResponse>

我使用的 URL 是(API 密钥被取出,原因很明显:))

https://maps.googleapis.com/maps/api/geocode/xml?key=xxxxx&address=Urb.%20Fundaci%F3n%20Mendoza%2C%204ta%20transversal%20D-25.%2CCumana%2C6101%2CVenezuela

我正在传递 address 参数...但根据文档,它说错误是:

“INVALID_REQUEST”一般表示查询(地址、 组件或 latlng) 丢失。

https://developers.google.com/maps/documentation/geocoding/

有什么想法吗?我有点不知所措!

编辑:这太疯狂了!

我将自己的 IP 添加到 API 接受的列表中 - 然后从我的浏览器访问 URL:

https://maps.googleapis.com/maps/api/geocode/xml?address=Urb+Fundaci%C3%B3n+Mendoza,Cumana,6101,Venezuela&key=xxx

然后就可以了。但是,通过服务器上的一个简单脚本访问它(正确的 IP 地址也在 google 中列入白名单),它给了我{ 'status' =&gt; 'INVALID_REQUEST' } 错误... ARGH!!!!

【问题讨论】:

    标签: google-geocoding-api


    【解决方案1】:

    啊,伙计 - 谈论烦人。对于遇到此问题的任何其他人-请确保所有重音都经过 URL 编码-否则您将遇到此问题!在我的 Perl 脚本中,我使用 URL::Encode 将任何 utf8 转换为编码字符串:

    $url .= URL::Encode::url_encode_utf8($address);
    

    现在已经解决了:)

    【讨论】:

      【解决方案2】:

      我看到了同样的错误,但我意识到它来自不同的来源。

      对于以后搜索此内容的任何人,请务必发出 GET 请求,而不是 POST 请求。这就是为什么它在我的浏览器中使用各种不同的 URL 编码工作,但从未在我的应用程序中使用完全相同的参数工作,因为我总是在我的应用程序中发出 POST 请求。

      我将此添加为答案,因为我的问题与问题中描述的所有症状相匹配,但 OP 的响应并未解决它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多