地理编码器根据 API 键给出不同的结果

Geocoder giving different results depending on API key

我正在尝试使用 Google 地理编码服务检索特定地址的坐标。这是 HTTP 请求:

https://maps.googleapis.com/maps/api/geocode/json?address=EPIM%20Aix-En-Provence,%20Luynes,%20France&key=MY_DEV_KEY

问题是使用我的免费开发密钥(或者根本没有密钥,它是一样的),我得到了我期望的结果:

"EPIM Aix-En-Provence, 18 Quartier Plein Soleil - 600 Route de Marseille, 13080 Luynes, France"

但是当我切换到生产并将密钥更改为我的生产密钥时,我得到了一个不同的(并且完全错误的)结果(“37230 Luynes, France”)。

我什至尝试使用简单的 curl 调用来避免浏览器添加任何 header,但它没有改变任何东西。

请参阅 Address Geocoding in the Google Maps APIs:Future Changes to Geocoding API,对地理编码器的更改正在实施中,这可能会导致地理编码器依赖于 API 键的存在。

您可以在请求中尝试使用 new_forward_geocoder 标志来验证这是否是问题所在。

如果在切换到生产环境时,有人在将 new_forward_geocoder=true 放在密钥之前仍然遇到同样的问题,请尝试将其也放在之后,那是(在我的情况下它对我有用) src="https://maps.google.com/maps/api/js?new_forward_geocoder=true&key=MY_DEV_KEY&new_forward_geocoder=true"