Zum Hauptinhalt springen

<kaleidr-map> — das Element

Die deklarative Fassade. Element einfügen und Attribute setzen; es wird beim Verbinden gemountet und beim Entfernen abgebaut.

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

Attributtabelle

Geprüft gegen kaleidr-sdk/packages/embed/src/element.ts. Attributnamen verwenden kebab-case; die entsprechenden Kaleidr.mount(...)-Optionsnamen in kaleidr.js verwenden camelCase.

AttributProdukteErforderlichStandardBedeutung
productallejachat | viewer | editor | tile
publishable-keychat, editor, tileja*kld_pk_live_…; wird zur Laufzeit gegen ein Session-Token ausgetauscht
api-keychat, editor, tileVeralteter Alias; akzeptiert auch älteres kld_live_…
share-idviewerjaVeröffentlichte Karte / Share-ID; fehlt sie, wird beim Bundle-Laden ein Fehler ausgelöst
map-idviewerAlias für share-id
style-idtile, editoroptionaltile: Viewer-Standard; editor: Org-Standard → kaleidr-morningBasemap-Style-ID oder (Editor) vollständige Style-URL
map-targetchatoptionalCSS-Selektor für das Host-Kartenelement
containedchatoptionalfalseDockt das Panel im Mount-Element an, statt es auf document.body schweben zu lassen
centerviewer, tile, editoroptionallon,lat
zoomviewer, tile, editoroptionaleditor: 2Initialer Zoom
pitchviewer, tile, editoroptional0Initiale Neigung
bearingviewer, tile, editoroptional0Initiale Ausrichtung
themechat, editoroptionalJSON-CSS-Token-Objekt als String
doorwayalleoptionalProduktstandardiframe | attach-Überschreibung
basealleoptionalhttps://cdn.kaleidr.comCDN-Origin für lazy geladene Bundles (/embed/v1/*.js)
viewer-baseviewer, tileoptionalhttps://map-embed.kaleidr.comOrigin, den das iframe lädt — unabhängig vom Bundle-CDN
api-basechat, editor, tileoptionalhttps://api.kaleidr.com/inference-apiMuss /inference-api enthalten. Ein reiner Origin wie https://api.kaleidr.com liefert beim Session-Austausch 404. Gilt für jedes Produkt mit Session-Austausch (chat, editor, tile).
tile-baseeditoroptionalhttps://tile.kaleidr.comTile-CDN zur Auflösung von Katalog-style-id-Werten
flagalleoptionalDormancy-Überschreibung pro Element

* Erforderlich für autorisierte/abgerechnete Nutzung. Viewer benötigt keinen Schlüssel; das Übergeben eines Schlüssels an ein Viewer-Embed wird mit product_not_allowed abgelehnt.

Gib dem Element eine Höhe (Inline-style oder CSS). Jedes Produkt füllt seinen Container; ein iframe-Produkt in einem nicht dimensionierten Container fällt auf feste 500px zurück, damit es sichtbar bleibt.

Handle matrix

Verhalten wie unter /embed/v1/ ausgeliefert. Nicht unterstützte Kombinationen werfen keinen Fehler — das SDK protokolliert eine [kaleidr]-Warnung und kehrt zurück. Das ist Vertragsbestandteil des Major-Alias v1; das Entfernen aufrufbarer Methoden wäre eine verhaltensbrechende Änderung.

Methodechatviewereditortile
destroy()jajajaja
setCamera(camera)no-opjajaja
setTheme(theme)ja (live)n/anur beim Mountenn/a
setStyle(styleId)n/an/an/anur bei tile verfügbar

Chat steuert die Kartenkamera nicht — verwende nach Kaleidr.mount(...) die Kamera-API deiner Karteninstanz. Live-setTheme für Editor folgt in einer späteren SDK- Version; theme beim Mounten funktioniert bereits.

Live-Updates

center, zoom, pitch und bearing werden beobachtet und rahmen viewer, editor und tile ohne erneutes Mounten neu ein. Änderungen an theme aktualisieren Chat live; beim Editor bleibt das Theme auf den Mount-Zeitpunkt beschränkt.

Chat + map-target

Chat hängt sich an deine aktive Karte an, die ein String-Attribut nicht transportieren kann. Es gibt zwei Möglichkeiten, sie bereitzustellen:

  • Imperativ (empfohlen): Kaleidr.mount(el, { product: 'chat', publishableKey, map, contained: true }).
  • Deklarativ: Speichere deine Karteninstanz auf dem Host-Element als hostEl.__kaleidrMap__ = map und setze anschließend map-target="#host".

Ohne Karte läuft Chat headless (keine Karteninteraktionen).