メインコンテンツまでスキップ

<kaleidr-map> — 要素

宣言的 façade です。要素を配置して属性を設定すると、 connect 時に mount され、削除時に teardown されます。

<kaleidr-map product="viewer" share-id="abcd1234" style="height:480px"></kaleidr-map>

属性テーブル

kaleidr-sdk/packages/embed/src/element.ts に対して検証済みです。属性名は kebab-case で、kaleidr.js の対応する Kaleidr.mount(...) option 名は camelCase です。

属性製品必須デフォルト意味
productすべてはいchat | viewer | editor | tile
publishable-keychat, editor, tileはい*kld_pk_live_…;実行時に session token と交換されます
api-keychat, editor, tile非推奨 alias。旧 kld_live_… も使用可能
share-idviewerはい公開 map / share id;省略すると bundle 読み込み時にエラーになります
map-idviewershare-id の alias
style-idtile, editor任意tile: viewer default;editor: org default → kaleidr-morningBasemap style id、または(editor)完全な style URL
map-targetchat任意host map element の CSS selector
containedchat任意falseパネルを document.body 上に浮かせず mount element 内に固定します
centerviewer, tile, editor任意lon,lat
zoomviewer, tile, editor任意editor: 2初期 zoom
pitchviewer, tile, editor任意0初期 pitch
bearingviewer, tile, editor任意0初期 bearing
themechat, editor任意JSON CSS-token object string
doorwayすべて任意product defaultiframe | attach override
baseすべて任意https://cdn.kaleidr.comlazy bundle(/embed/v1/*.js)用 CDN origin
viewer-baseviewer, tile任意https://map-embed.kaleidr.comiframe が読み込む origin — bundle CDN とは別
api-basechat, editor, tile任意https://api.kaleidr.com/inference-api/inference-api を含める必要があります。 https://api.kaleidr.com のような bare origin は session exchange で 404 になります。session exchange を行うすべての product(chat, editor, tile)に適用されます。
tile-baseeditor任意https://tile.kaleidr.comカタログの style-id 値を解決する Tile CDN
flagすべて任意要素ごとの dormancy override

* 認証済み/課金対象の利用には必須です。Viewer にはキーは不要です。Viewer embed に キーを渡すと product_not_allowed で拒否されます。

要素に高さを設定してください(inline style または CSS)。すべての product は container 全体を使用します。サイズ未指定 の container 内の iframe product は、 表示を維持するため固定 500px にフォールバックします。

Handle matrix

/embed/v1/ で提供されているとおりの動作です。サポートされていない組み合わせでも例外は発生せず、 SDK は [kaleidr] warning を記録して戻ります。これは v1 major alias の contract であり、 呼び出し可能な method の削除は behavior breaking になります。

Methodchatviewereditortile
destroy()はいはいはいはい
setCamera(camera)no-opはいはいはい
setTheme(theme)はい(live)n/amount 時のみn/a
setStyle(styleId)n/an/an/atile のみ公開

Chat はマップカメラを操作しません — Kaleidr.mount(...) 後は マップインスタンス自身の camera API を使用してください。Editor の live-setTheme は今後の SDK リリースで追加されます。mount 時の theme はすでに動作します。

ライブ更新

centerzoompitchbearing は監視され、remount せずに viewer、 editor、tile を再フレーミングします。theme の変更は chat を live 更新します。 editor theme は mount 時のみのままです。

Chat + map-target

Chat は 稼働中のマップにアタッチ しますが、string 属性では map instance を渡せません。 渡す方法は2つあります:

  • Imperative(推奨): Kaleidr.mount(el, { product: 'chat', publishableKey, map, contained: true }).
  • Declarative: host element に map instance を hostEl.__kaleidrMap__ = map として保存し、map-target="#host" を指定します。

マップがない場合、chat は headless で動作します(マップ操作なし)。