我正在尝试使用Google中的googleway软件包中的google_geocode函数对Google地图上的地址进行地理编码。我正在使用从Google获得的密钥,该密钥允许我超过2500 /天的限制(并为此收费)。我有不同类型的问题,主要是由于我使用的地址的编写方式,但我想在这里问一个问题:我有时可能无法使用googe_geocode查询结果,但如果我输入http://www.google.com/maps/上的相同地址字符串会返回结果吗?
我的例子:
address="AVENDAÑO, 30-32 VITORIA-GASTEIZ 01008, ES"
# the address I want to geocode. Its format is "street, number, city postcode, country" in a single string.
google_geocode(address=address,key=mykey) # I write the right key as mykey.
# I get no results:
$results
list()
$status
[1] "ZERO_RESULTS"
但是,如果在Google地图中搜索完全相同的地址字符串,我会找到正确的位置(显示这是西班牙维多利亚的AbendañoKalea):
任何人都可以解释可能发生的事情吗?也许谷歌地图或谷歌地理编码API的一些工作人员可能会有帮助吗? 非常感谢,
答案 0 :(得分:1)
请注意,Google将此街道视为'ABENDAÑO,30-32 VITORIA-GASTEIZ 01008,ES',因此B和V字母很重要。我知道在西班牙语中这是相同的声音,但可能谷歌希望完全匹配。
根据文件:
根据相关国家的国家邮政服务使用的格式指定地址。
来源:https://developers.google.com/maps/faq#geocoder_queryformat
在Correos.es我可以看到官方街道名称是ABENDAÑO,如以下屏幕截图所示
因此,只需使用以下请求即可获得结果:
https://maps.googleapis.com/maps/api/geocode/json?address=ABENDA%C3%91O%2C%2030-32%20VITORIA-GASTEIZ%2001008%2C%20ES&key=YOUR_API_KEY
或者地理编码工具中的相同内容:
我希望这有帮助!
答案 1 :(得分:1)
我认为这很可能是由于编码问题所致。尝试使用“Ñ”定位地址时,发生了这种情况。这样做对我有用:
string <- "AVENDAÑO, 30-32 VITORIA-GASTEIZ 01008, ES"
Encoding(string) <- "UTF-8"
google_geocode(string, key = key)
自从Google更改了其定价方案以来,您现在需要一个API密钥。