You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用placement包drive_time()函数报错:vapply: values must be length 11

解决placement包drive_time()函数的vapply长度不匹配错误

你在使用Derek Darves开发的placement包中drive_time()函数时遇到的vapply: values must be length 11错误,大概率是API返回数据结构与函数预期不匹配、参数配置问题,或是包版本兼容导致的。我整理了几个实用的排查和解决方向:

1. 先搞定Google Maps API的基础配置

  • 你当前privkey参数是空字符串,但使用auth="standard_api"时必须填入有效的Google Maps API密钥。没有密钥或密钥权限不足的话,API会返回异常格式的JSON,直接导致vapply处理时长度不匹配。
  • 确认你的API项目已经启用了Distance Matrix API——这是drive_time()依赖的核心服务,没启用的话API会返回错误信息而非正常行程数据。

2. 检查参数设置的合理性

  • 你设置了travel_mode="bicycling",但部分跨城路线可能没有自行车导航数据,API返回的结果字段会缺失,导致函数预期的11个值凑不齐。建议先换成travel_mode="driving"测试,如果能正常运行,就说明是自行车路线数据的问题。
  • 尝试把clean参数改成TRUE,这个参数会清理API返回的冗余数据,有可能修复结构不匹配的问题。
  • 另外你的变量名是howfar_kms但设置了units="imperial",虽然这不会直接引发错误,但建议保持单位和变量名一致,避免后续混淆。

3. 排查包版本兼容性

  • 老版本的placement包可能和最新的Google Maps API返回格式不兼容,先更新到最新版本试试:
    update.packages("placement")
    
  • 同时检查依赖的jsonlite包版本,vapply的错误常和JSON解析后的列表结构有关,确保jsonlite也是最新版:
    update.packages("jsonlite")
    

4. 手动调试API返回内容

  • 可以直接调用Google Maps Distance Matrix API查看返回的JSON结构,确认是否符合函数预期:
    library(httr)
    response <- GET("https://maps.googleapis.com/maps/api/distancematrix/json",
                    query = list(origins = "350 5th Ave, New York, NY 10118, USA",
                                 destinations = "1600 Amphitheatre Pkwy, Mountain View, CA 94043",
                                 mode = "bicycling",
                                 units = "imperial",
                                 key = "你的API密钥"))
    content(response)
    
    如果返回的rows->elements里的status不是OK,那就是API层面的问题,需要调整参数或检查权限。

5. 简化参数做最小测试

  • 先去掉非必要参数,用最基础的调用验证:
    howfar <- drive_time(address="350 5th Ave, New York, NY 10118, USA",
                         dest="1600 Amphitheatre Pkwy, Mountain View, CA 94043",
                         auth="standard_api",
                         privkey="你的有效API密钥",
                         travel_mode="driving")
    
    如果基础调用能成功,再逐个加回参数(比如bicycling、units等),就能定位到导致错误的具体参数。

内容的提问来源于stack exchange,提问作者zest16

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:42:23