ggmap:带有 trek 的空数据框

ggmap: empty data frame with trek

我使用以下代码从 github 存储库安装了最新版本的 ggmap:

devtools::install_github("dkahle/ggmap", ref = "tidyup")

我启用了 "Geocoding API" 选项,启用了计费并提供了我的 Google API 密钥。然后我尝试使用 trek 函数重新 运行 代码,并使用 geom_path 在我的地图上绘制路径。这段代码在几个月前(2018 年 6 月)工作,但现在我收到错误:

Error in FUN(X[[i]], ...) : object 'lon' not found

然后我尝试 运行 trek vignette 中的示例并得到相同的错误消息。因此,使用小插图中的示例:

from <- "houston, texas"
to <- "waco, texas"
trek_df <- trek(from, to, structure = "route")
qmap("college station, texas", zoom = 8) +
  geom_path(
    aes(x = lon, y = lat),  colour = "blue",
    size = 1.5, alpha = .5,
    data = trek_df, lineend = "round"
  )

Error in FUN(X[[i]], ...) : object 'lon' not found

好像是调用函数trek的时候出现了问题。它应该给出一个数据框(output="simple")或所有的地理编码信息(output="all"),但是有一个空数据框:

> trek_df
# A tibble: 0 x 0

我还需要对 Google 做些什么才能启用此功能吗?感谢您的帮助。

最可能的原因是您 未在 Google 控制台中启用路线 API

说明

trek() 正在调用路线 API,您可以在此处看到:

> trek_df <- trek(from, to, structure = "route")
Source : https://maps.googleapis.com/maps/api/directions/json?origin=houston%2C%20texas&destination=waco%2C%20texas&mode=driving&units=metric&alternatives=false&key=xxx

qmap() 正在调用(在那种情况下)静态和地理编码 APIs:

> qmap("college station, texas", zoom = 8) +
+     geom_path(
+         aes(x = lon, y = lat),  colour = "blue",
+         size = 1.5, alpha = .5,
+         data = trek_df, lineend = "round"
+     )
Source : https://maps.googleapis.com/maps/api/staticmap?center=college%20station,%20texas&zoom=8&size=640x640&scale=2&maptype=terrain&language=en-EN&key=xxx
Source : https://maps.googleapis.com/maps/api/geocode/json?address=college%20station%2C%20texas&key=xxx