クイックスタート
Kaleidr マップを2行で埋め込みます。
1. Loader を追加
<script src="https://cdn.kaleidr.com/embed/v1/kaleidr.js"></script>
kaleidr.js は非常に小さく、MapLibre や React を含みません。
実際に使用する製品の bundle のみを cdn.kaleidr.com/embed/v1/<product>.js から遅延読み込みします。
2. 要素を配置
どちらも Free プランで利用できます。Viewer は share link で保護され、キーは
一切不要です。Tile は maps / tile に制限された Free の publishable key を使用します。
<!-- A published map — no key needed (share-link gated) -->
<kaleidr-map product="viewer" share-id="abcd1234" style="height:480px"></kaleidr-map>
<!-- A designed basemap — your publishable key, maps scope -->
<kaleidr-map product="tile" publishable-key="kld_pk_live_…" style-id="kaleidr-morning"
style="height:480px"></kaleidr-map>
ブラウザからは分からない2つの前提条件があります — 正確な手順については APIキーを取得 を 参照してください:
- ページの origin はキーの origin allowlist に登録されている必要があります。登録されていない場合、SDK の
セッション交換は
session_origin_mismatchで拒否されます。file://埋め込みは常に失敗します — HTTP(S) で配信してください。 - CSP で SDK loader とマップ iframe を許可する必要があります — Content Security Policy を参照してください。
または命令的にマウント
すでにページ上にあるマップに AI chat をアタッチします。Chat には
ai スコープと Pro 以上のプランが必要です — Free のキーでは Chat セッションを発行できません。
contained: true を指定すると、パネルがマウント要素内に固定されます。指定しない場合、
パネルは document.body に移動します。
const handle = Kaleidr.mount('#chat', {
product: 'chat',
publishableKey: 'kld_pk_live_…',
map: myMap, // your live Mapbox / MapLibre / Google instance
contained: true,
});
// later: handle.destroy();
Kaleidr.mount(target, opts) は handle を同期的に返します。製品の
bundle はバックグラウンドで読み込まれ、キューに入った呼び出しは読み込み後に実行されます。注意:
handle.setCamera(...) は chat では no-op です — chat handle は
マップカメラを操作しません。マップインスタンス自身のカメラ API を使用してください。
次へ
- APIキーを取得
- Chat · Editor · Tile · Viewer
- SDK と
<kaleidr-map>要素 - Auth & scopes