不知道为什么我不断收到此错误:
值 [3L] 中的错误:下载结果时出错。请通过在浏览器中输入以下 URL 手动检查其是否有效。如果有效,请提交引用此 URL 的错误报告(注意:您的 API 密钥已被删除,因此您需要重新添加)
#A look at my dataframe called subset:
ID<- c("XM-7393","XM-7138")
Address<- c("175 College St #450, Toronto, ON M5T 1P7" ,"250 College St, Toronto, ON M5T 1R8")
subset<-data.frame(ID,Address)
subset$Address<- as.character(subset$Address)
require(googleway) #using google to get coordinates
gkey<-"INSERT GOOGLE API KEY HERE" #google API Key needed to get lat/lon coordinates
#a lat and lon vector to store the coordinates from the geocode
lat = vector("numeric", length = nrow(subset))
lng = vector("numeric", length = nrow(subset))
#Function for batch geocoding a list of addresses in a dataframe
for (i in 1:nrow(subset)) {
coord = googleway::google_geocode(subset$Address[i], key=gkey)
if (coord$status == "OK") {
coord = googleway::geocode_coordinates(coord)
lat[i] = coord$lat[1] # sometimes returns multiple coordinates
lng[i] = coord$lng[1] # sometimes returns multiple coordinates
} else {
lat[i] = NA
lng[i] = NA
}
}
#adding the lat and lon coordinates to subset dataset
subset$lat = lat
subset$lng = lng
好的,上面的代码有效!但前提是数据集没有那么多观察值。我使用的原始数据集有 1000 个观察值,我知道我没有接近我的 API 限制。所以不确定为什么当我有 1000 个观察数据集时它不起作用。
回答:一些地址字段有“#”来表示单元号。这需要删除(见下面的评论!)