跳至主要内容

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

地圖供應商指南