ggmap::mapdist 在 `vec_slice_impl()` 中给出内部错误:意外的 `NULL`

ggmap::mapdist gives Internal error in `vec_slice_impl()`: Unexpected `NULL`

谁能帮我理解为什么我在 R 中的 ggmap 包的 mapdist 函数中收到以下错误?

我正在尝试获取在丹麦的两个邮政编码之间旅行所需的分钟数。出于某种原因,有些组合会起作用,而另一些则不会。对于那些不起作用的,我尝试在 google 地图上搜索邮政编码以确保它确实存在并且 google 知道它 - 在这里它将毫无问题地找到它。

当我 运行 它时,控制台会给我以下输出:

mapdist(from = c("1050, Denmark"), to = c("2200, Denmark"))$minutes
Internal error in `vec_slice_impl()`: Unexpected `NULL`
Error: Internal error in `vec_slice_impl()`: Unexpected `NULL`.
Run `rlang::last_error()` to see where the error occurred.
> rlang::last_trace()
<error/rlang_error>
Internal error in `vec_slice_impl()`: Unexpected `NULL`.
Backtrace:
     x
  1. \-ggmap::mapdist(from = c("1050, Denmark"), to = c("2200, Denmark"))
  2.   \-`%>%`(...)
  3.     +-base::withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
  4.     \-base::eval(quote(`_fseq`(`_lhs`)), env, env)
  5.       \-base::eval(quote(`_fseq`(`_lhs`)), env, env)
  6.         \-ggmap:::`_fseq`(`_lhs`)
  7.           \-magrittr::freduce(value, `_function_list`)
  8.             \-function_list[[i]](value)
  9.               \-dplyr::bind_rows(.)
 10.                 \-vctrs::vec_rbind(!!!dots, .names_to = .id)
 11.                   \-(function () ...

相同的示例,它的工作方式与您预期的一样

mapdist(from = c("2970, Denmark"), to = c("2200, Denmark"))$minutes
Source : https://maps.googleapis.com/maps/api/distancematrix/json?origins=2970,+Denmark&destinations=2200,+Denmark&key=xxx&mode=driving
[1] 23.46667

这是因为在 googlemap 中,您必须在丹麦的某些邮政编码中添加一个字母。这将起作用:

mapdist(from = c("1050 K, Denmark"), to = c("2200, Denmark"))$minutes

它给了我 12.0333

为 1000-1499 中的所有邮政编码添加一个“k”; “V”代表 1500-1799;以及 1800-1999 的“C”。