Google 地图地理编码 API 在不同平台上给出不同的结果

Google Map Geocoding API gives different results on different platforms

我正在开展一个项目,需要为给定地址查找纬度和经度值。我通过在我的应用程序(unity3d)上输入文本创建了正确的 link (如 https://maps.googleapis.com/maps/api/geocode/xml?new_forward_geocoder=true&sensor=false&address=new%20york%20usa )。它工作正常。但是,如果我复制相同的 link 并将其粘贴到浏览器,它会给我不同的 "lat"-"long" 值,不同的 "formatted_address" 值。这怎么可能?提前致谢。

PS: 对了我也有API Key,但是我没写在这个link.

Google 正在使用您的浏览器发送给它的 header 来检测您何时从已知的 Web 浏览器发出请求。他们似乎基于此响应 Google 地图请求。

大多数时候,这是通过检查“User-Agent”header 来完成的。其他时候,它是通过检查“User-Agent”和其他 header 来完成的。

Here 是在 Unity 中使用自定义“User-Agent”header 制作 GET 或 POST 的完整解决方案.

记住,如果这不起作用,您只需要安装 Wireshark,然后使用问题中的 link 向 Google 地图服务器发出请求。 Wireshark 会给你所有的 headers。现在,尝试发送所有这些,直到您弄清楚服务器使用哪些进行检查