使用googleway进行地理编码地址:不一致的结果

时间:2018-04-06 13:54:48

标签: r google-maps geocoding google-geocoding-api googleway

我正在尝试使用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):

https://www.google.com/maps/place/Abenda%C3%B1o+Kalea,+30,+01008+Vitoria-Gasteiz,+Araba/@42.8451894,-2.6855022,17z/data=!3m1!4b1!4m5!3m4!1s0xd4fc213d775d83d:0xc2a5f2ffa8721c2a!8m2!3d42.8451855!4d-2.6833135

任何人都可以解释可能发生的事情吗?也许谷歌地图或谷歌地理编码API的一些工作人员可能会有帮助吗? 非常感谢,

2 个答案:

答案 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,如以下屏幕截图所示

enter image description here

因此,只需使用以下请求即可获得结果:

https://maps.googleapis.com/maps/api/geocode/json?address=ABENDA%C3%91O%2C%2030-32%20VITORIA-GASTEIZ%2001008%2C%20ES&key=YOUR_API_KEY

或者地理编码工具中的相同内容:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3DABENDA%25D1O%252C%252030-32%2520VITORIA-GASTEIZ%252001008%252C%2520ES

我希望这有帮助!

答案 1 :(得分:1)

我认为这很可能是由于编码问题所致。尝试使用“Ñ”定位地址时,发生了这种情况。这样做对我有用:

string <- "AVENDAÑO, 30-32 VITORIA-GASTEIZ 01008, ES"
Encoding(string) <- "UTF-8"
google_geocode(string, key = key)

自从Google更改了其定价方案以来,您现在需要一个API密钥。