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;
此時不會有地點標記或路線覆蓋層。