google-maps - 如何使用谷歌 API 获取西班牙特定地址的地理编码?
问题描述
我正在尝试获取特定地址的地理编码,但是当我尝试使用西班牙地址时出现此特定错误,它向我显示Invalid request. One of the input parameters contains a non-UTF-8 string.
,但在美国或印度等其他国家/地区工作正常。
我尝试使用其他西班牙地址,但它继续向我显示相同的错误我使用此 url 获取地理编码
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®ion=ES
我需要有关如何根据添加的用户获取所有区域的地址并获取该特定地址的地理编码的帮助。
解决方案
您应该在请求中发送地址字符串之前对其 进行 URL 编码。
我相信问题可能与您的地址中的 ñ 符号有关。如果您对其进行 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”的地点 ID。
您还可以在 Geocoder 工具中看到此结果:
我希望这有帮助!
推荐阅读
- c# - 如何用 func 委托替换 Action 委托,将值返回给函数
- r - 操作方法:在同一图上叠加 2 组点的简单 R 图形
- c++ - 引用捕获和在 lambda (C++) 中通过引用发送参数有什么区别
- kubernetes - k8s ingress nginx 为每个域设置重写目标
- javascript - 用innerHTML设置数据不能用querySelector带数据
- windows - 无法识别 Windows 重复数据删除文件“cores”参数
- python - 我正在寻找重新组织 CSV 文件中的数据。CSV 文件具有多行字段,数据如下所示:
- django - 如何在 Django 模板的集合中只显示第一次出现的项目?
- c# - Unity 中的跳跃冷却实现
- angular - 如果我在 Angular 中初始化对象,为什么需要安全导航运算符 (Elvis)