如何使用Google API获取西班牙特定地址的地理编码?

时间:2018-12-28 05:55:02

标签: google-maps google-maps-api-3 google-api

我尝试获取特定地址的地理编码,但是在尝试使用西班牙地址时会遇到此特定错误,该错误向我显示Invalid request. One of the input parameters contains a non-UTF-8 string.,但在美国或印度等其他国家也能正常工作。

我尝试使用其他西班牙地址,但是它继续向我显示相同的错误,我使用此网址获取地址代码

https://maps.googleapis.com/maps/api/geocode/xml?address=hereputspainaddress&key=myapikey

也可以尝试通过区域和语言代码

https://maps.googleapis.com/maps/api/geocode/xml?address=hereputspainaddress&key=myapikey&language=es-co&region=ES

我需要有关如何按添加的用户获取所有区域的地址以及获取该特定地址的地理编码的帮助。

1 个答案:

答案 0 :(得分:0)

在发送请求中的地址字符串之前,您应该URL-encode

我相信问题可能出在您的地址中。如果您对其进行URL编码,它将被替换为%C3%B1

如果我对地址进行URL编码,我可以得到答复

https://maps.googleapis.com/maps/api/geocode/json?address=Calle%20Aduana%2C%2029%2C%2028070%20MADRID%2C%20Espa%C3%B1a&key=MY_API_KEY

在回复中,我收到的地址为ChIJba0n1oYoQg0R5u5-y9jZ9sU,地址为“ Calle de la Aduana,29,28013 Madrid,Spain”。

您还可以在Geocoder工具中看到以下结果:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3DCalle%2520Aduana%252C%252029%252C%252028070%2520MADRID%252C%2520Espa%25F1a

我希望这会有所帮助!