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

Carto与Deck GL集成报错:Map instantiation API请求失败(404连接未找到)

解决Carto + Deck GL集成中的"Connection not found" (404) 错误

错误信息

Uncaught (in promise) CartoAPIError: Map instantiation API request failed
Server returned: Not found (404): Connection not found

问题分析

这个404错误的核心是Carto无法识别你在CartoLayer中指定的connection参数值——要么是连接ID拼写错误,要么是该连接未在你的Carto账户中注册激活。

解决方案

1. 确认Carto账户的实际连接ID

  • 登录Carto控制台,进入Connections页面
  • 找到你的BigQuery连接,复制它的Connection ID(注意是系统生成的ID,不是显示名称,格式通常为bq-xxxxxx这类带后缀的标识)
  • 将代码中的connection: 'bigquery'替换为这个实际ID

2. 验证连接状态与权限

  • 确保该BigQuery连接处于已激活状态,未被禁用
  • 在Carto控制台中直接运行你的SQL查询,验证Carto能否正常访问目标数据集

3. 检查Carto初始化配置

确保你在启动Deck GL前正确配置了Carto的认证信息:

deck.carto.setDefaultCredentials({
  apiKey: '你的Carto API密钥',
  username: '你的Carto用户名' // 组织账户请改用organization参数
});

4. 优化SQL查询(可选但推荐)

  • 避免直接拼接经纬度参数到SQL中(存在注入风险),改用参数化查询:
    data: {
      query: `SELECT dist_miles, geometry AS geom 
              FROM \`bleeding-out.census_blocks.blocks_optimized\`
              WHERE ST_INTERSECTS(ST_GEOGPOINT(@longitude, @latitude), geometry)`,
      params: { longitude, latitude }
    }
    
  • 若空间字段识别有问题,可尝试转换格式:ST_GEOGFROMTEXT(geometry) AS geom

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 12:02:51