有一个 R 脚本来运行一堆不同点的通勤时间和距离。 拥有一个已启用计费帐户的 Google API 密钥,每次运行并在第 262 行关闭。
尝试重构代码。 更新了API 在不同部分设置 API 密钥
到目前为止,代码运行完美,并且它正在与 google 建立连接,如 API 中所示。
emp_commute$CommuteTime[i] <- gmapsdistance(origin = emp_commute$HomeComplete[i],
destination = emp_commute$WorkComplete[i],
mode = "driving",
key = "",
arr_date = "2019-11-13",
arr_time = emp_commute$ArrivalTime[i])$Time[1]
gmapsdistance 中的错误(origin = emp_commute$HomeComplete[i], 目的地 = emp_commute$WorkComplete[i], : Google API 返回 错误:您必须使用 API 密钥来验证每个请求 Google 地图平台 API。如需了解更多信息,请参阅 http://g.co/dev/maps-no-account
在谷歌上搜索了又搜索,只是想得到一些建议!
这个包对我来说没有问题。使用RStudio Cloud。这就是我所做的。
首先我安装了gmapsdistance:
install.packages("gmapsdistance")
然后我使用 API 密钥(在
key=
参数中设置)运行以下代码:
library("gmapsdistance")
origin <- c("40.431478+-80.0505401", "33.7678359+-84.4906438")
destination <- c("43.0995629+-79.0437609", "41.7096483+-86.9093986")
results <- gmapsdistance(origin, destination, mode="driving", key="abcd", arr_date="2019-11-13", arr_time="09:00:00")
results
回复是:
$Time
or Time.43.0995629+-79.0437609 Time.41.7096483+-86.9093986
1 40.431478+-80.0505401 13878 23071
2 33.7678359+-84.4906438 49402 38351
[...]
使用
set.api.key("")
也效果很好。出于测试目的,我建议您尝试上面的确切步骤和代码。另请仔细检查以下内容:
origin
、destination
和 arr_time
值有效(请先尝试对它们进行硬编码)希望这有帮助。
我正在回复这个旧线程,以防它对任何人有帮助...我发现了问题,并且是在地址中有 # 的情况下(例如 123 Main St Apt #6)。如果您删除#6 公寓,使其位于主街 123 号,那么它就可以正常工作了