1

我在 for 循环中使用 gmapsdistance 来获取地址列表的行驶时间。下面是R代码:

for( i in 1: nrow(data_subset)){

    if( i!= nrow(data_subset)){

      print(i)  

      drive_time <- gmapsdistance(origin=Data_subset$Address[i], destination =Data_subset$Address[i+1], mode='driving', departure = 'now',traffic_model = 'pessimistic')$Time

      print(drive_time)

      tot_drive_time <- drive_time  + tot_drive_time

    }
}

data_subset 是一个包含地址列表的数据帧。我试图找到从 A 到 B 然后 B 到 C 然后 C 到 D 的总驱动时间,一直持续到数据帧结束。

但是我在一些随机点上得到了一个 XML。每次我运行时,我都会在不同的数据点出现错误。

UseMethod(“xmlChildren”)中的错误:没有适用于“xmlChildren”的方法应用于“NULL”类的对象

我该如何解决这个问题?还有其他更好的解决方案吗?请分享

4

1 回答 1

0

AFAIK,这是一个 API 密钥问题。Google 地图 API 使用政策 ( https://developers.google.com/maps/documentation/javascript/distancematrix ) 限制了免费 API 密钥的查询次数。您需要获得付费许可或将数据帧分解为较小的子数据帧,并在不同时间点分别为它们运行循环。

于 2017-05-26T04:10:03.657 回答