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 contract;ai 作用域的使用量会计入您组织的
配额。
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;
此时不会有地点标记或路线覆盖层。