跳到主要内容

Chat — 将 AI 连接到您的地图

product="chat" 会将 Kaleidr Control Tower — 对话式导航、 POI 摘要和地点标记 — 挂载到已经渲染的地图上。 chat bundle 会自动检测您的地图供应商(Mapbox、MapLibre、Google)。

  • 接入方式: attach — 面板挂载在您的页面内,并控制您传入的 地图对象。
  • 所需作用域: ai.
  • 最低套餐: Pro — Free 密钥不允许使用 ai 作用域。

开始之前

  • 您页面的 origin 必须位于密钥的 origin allowlist 中。否则会话交换 将以 403 session_origin_mismatch 失败。file:// 不会发送 Origin,因此始终失败 — 请通过 HTTP(S) 提供。请参阅 获取 API 密钥
  • 您的 CSP 必须允许 SDK loader、MapLibre 的 'wasm-unsafe-eval',以及 地图供应商的 host — 请参阅 Content Security Policy

挂载

const handle = Kaleidr.mount('#chat-panel', {
product: 'chat',
publishableKey: 'kld_pk_live_…', // ai scope, Pro+
map: myMap, // your live map instance
contained: true, // dock inside #chat-panel, not on body
});

contained: true 会将面板固定在挂载元素内。否则, 面板会移动到 document.body,在页面布局上看起来像是出现了故障。

chat 面板会在 myMap 上绘制地点,并随着 对话解析位置而调整相机视野。流式传输使用 SSE wire contractai 作用域的使用量会计入您组织的 配额

Handle

handle.destroy(); // always available
handle.setTheme({ '--kd-accent': '#2da84a' }); // live theme update
  • chat 上的 handle.setCamera(...)no-op。Chat 不会控制 地图相机 — 请使用您自己的地图实例的相机 API。
  • handle.setTheme(...) 接受 JSON CSS-token 对象;命名的字符串 theme 会在发出警告后被忽略。

支持 Headless(无地图)模式 — 如果只需要 chat 面板,请省略 map; 此时不会有地点标记或路线覆盖层。

地图供应商指南