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

在Shiny的reactive()中使用osrmTrip出现坐标空值错误的排查

解决Shiny应用中addPolylines非空经纬度错误的排查要点

出现Warning: Error in validateCoords: addPolylines requires non-NULL longitude/latitudes错误的核心原因是传给addPolylines的经纬度参数为空值或无效值,按以下方向逐一排查:

  • 验证路线计算输出:检查生成路线的工具(如osrmRoute、google_directions)是否返回有效数据。在调用addPolylines前,打印经纬度列(如print(route_data$longitude)),确认是否存在非空的数值向量。
  • 确认当前定位有效性:检查获取当前定位的代码(如input$lat/input$lon)是否返回有效值。定位失败、权限未授予或设备定位关闭都会导致起点经纬度为空,进而引发后续路线计算失败。
  • 清理地点数据框:检查你的地点数据框中是否存在经纬度为NA或空值的记录。可以用sum(is.na(your_places_df$lon))统计无效值,提前用na.omit(your_places_df)清理数据,避免计算出无效的"最近地点"。
  • 核对参数传递正确性:确认addPolylines的参数是否匹配。比如是否传反了经纬度、是否用错了列名(如把lng写成lon),确保传入的列名与数据框中的列名完全一致。
  • 处理嵌套路线数据:部分路线API返回的是嵌套结构的数据框,需要先扁平化(如用tidyr::unnest())才能提取出一维的经纬度向量,否则传入addPolylines的会是列表而非有效数值。

若能提供定位获取、最近地点计算及addPolylines调用的核心代码片段,可更精准定位问题。

内容的提问来源于stack exchange,提问作者Jorge Hernández

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 05:11:11