Saltar al contenido principal

<kaleidr-map> — el elemento

La fachada declarativa. Inserta el elemento y establece los atributos; se monta al conectarse y se desmonta al eliminarse.

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

Tabla de atributos

Verificado con kaleidr-sdk/packages/embed/src/element.ts. Los nombres de atributos utilizan kebab-case; los nombres de opciones correspondientes de Kaleidr.mount(...) en kaleidr.js utilizan camelCase.

AtributoProductosObligatorioPredeterminadoSignificado
producttodoschat | viewer | editor | tile
publishable-keychat, editor, tilesí*kld_pk_live_…; se intercambia por un token de sesión en tiempo de ejecución
api-keychat, editor, tileAlias obsoleto; también acepta kld_live_… heredado
share-idviewerMapa publicado / share id; omitirlo provoca un error al cargar el paquete
map-idviewerAlias de share-id
style-idtile, editoropcionaltile: predeterminado de viewer; editor: predeterminado de la org → kaleidr-morningID de estilo de mapa base o (editor) una URL completa de estilo
map-targetchatopcionalSelector CSS para el elemento de mapa host
containedchatopcionalfalseAcopla el panel dentro del elemento de montaje en lugar de dejarlo flotando en document.body
centerviewer, tile, editoropcionallon,lat
zoomviewer, tile, editoropcionaleditor: 2Zoom inicial
pitchviewer, tile, editoropcional0Inclinación inicial
bearingviewer, tile, editoropcional0Orientación inicial
themechat, editoropcionalCadena de objeto JSON de tokens CSS
doorwaytodosopcionalpredeterminado del productoSustitución iframe | attach
basetodosopcionalhttps://cdn.kaleidr.comOrigen CDN para paquetes cargados de forma diferida (/embed/v1/*.js)
viewer-baseviewer, tileopcionalhttps://map-embed.kaleidr.comOrigen que carga el iframe — distinto del CDN del paquete
api-basechat, editor, tileopcionalhttps://api.kaleidr.com/inference-apiDebe incluir /inference-api. Un origen simple como https://api.kaleidr.com devuelve 404 durante el intercambio de sesión. Se aplica a cualquier producto que realice un intercambio de sesión (chat, editor, tile).
tile-baseeditoropcionalhttps://tile.kaleidr.comCDN de tiles utilizado para resolver valores style-id del catálogo
flagtodosopcionalSustitución de dormancy por elemento

* Obligatorio para uso autorizado/facturado. Viewer no necesita clave; pasar una clave a una integración Viewer se rechaza con product_not_allowed.

Asigna una altura al elemento (style en línea o CSS). Cada producto ocupa todo su contenedor; un producto iframe dentro de un contenedor sin dimensiones utiliza como alternativa una altura fija de 500px para mantenerse visible.

Handle matrix

Comportamiento tal como se distribuye en /embed/v1/. Las combinaciones no admitidas no lanzan errores — el SDK registra una advertencia [kaleidr] y vuelve. Esto forma parte del contrato del alias principal v1; eliminar métodos invocables supondría un cambio incompatible de comportamiento.

Métodochatviewereditortile
destroy()
setCamera(camera)no-op
setTheme(theme)sí (en vivo)n/asolo al montarn/a
setStyle(styleId)n/an/an/adisponible solo en tile

Chat no controla la cámara del mapa — utiliza la API de cámara de tu propia instancia después de Kaleidr.mount(...). La actualización en vivo de setTheme en Editor llegará en una versión posterior del SDK; theme al montar ya funciona.

Actualizaciones en vivo

center, zoom, pitch y bearing se observan y vuelven a encuadrar viewer, editor y tile sin volver a montar. Los cambios de theme actualizan chat en vivo; el tema de editor sigue limitado al momento del montaje.

Chat + map-target

Chat se adjunta a tu mapa activo, algo que un atributo string no puede transportar. Hay dos formas de proporcionarlo:

  • Imperativa (recomendada): Kaleidr.mount(el, { product: 'chat', publishableKey, map, contained: true }).
  • Declarativa: guarda tu instancia del mapa en el elemento host como hostEl.__kaleidrMap__ = map y después usa map-target="#host".

Sin mapa, chat funciona en modo headless (sin interacciones con el mapa).