<kaleidr-map> — l’élément
La façade déclarative. Placez l’élément et définissez ses attributs ; il se monte lors de la connexion et se démonte lorsqu’il est supprimé.
<kaleidr-map product="viewer" share-id="abcd1234" style="height:480px"></kaleidr-map>
Tableau des attributs
Vérifié par rapport à kaleidr-sdk/packages/embed/src/element.ts. Les noms d’attributs
sont en kebab-case ; les noms d’options Kaleidr.mount(...) correspondants dans
kaleidr.js sont en camelCase.
| Attribut | Produits | Obligatoire | Valeur par défaut | Signification |
|---|---|---|---|---|
product | tous | oui | — | chat | viewer | editor | tile |
publishable-key | chat, editor, tile | oui* | — | kld_pk_live_… ; échangé contre un jeton de session à l’exécution |
api-key | chat, editor, tile | — | — | Alias obsolète ; accepte également l’ancien kld_live_… |
share-id | viewer | oui | — | Carte publiée / share id ; son absence déclenche une erreur au chargement du bundle |
map-id | viewer | — | — | Alias de share-id |
style-id | tile, editor | facultatif | tile : valeur par défaut de viewer ; editor : valeur par défaut de l’org → kaleidr-morning | ID de style du fond de carte ou (editor) URL complète de style |
map-target | chat | facultatif | — | Sélecteur CSS de l’élément de carte hôte |
contained | chat | facultatif | false | Ancre le panneau dans l’élément de montage au lieu de le laisser flotter sur document.body |
center | viewer, tile, editor | facultatif | — | lon,lat |
zoom | viewer, tile, editor | facultatif | editor : 2 | Zoom initial |
pitch | viewer, tile, editor | facultatif | 0 | Inclinaison initiale |
bearing | viewer, tile, editor | facultatif | 0 | Orientation initiale |
theme | chat, editor | facultatif | — | Chaîne d’objet JSON de tokens CSS |
doorway | tous | facultatif | valeur par défaut du produit | Remplacement iframe | attach |
base | tous | facultatif | https://cdn.kaleidr.com | Origine CDN des bundles chargés à la demande (/embed/v1/*.js) |
viewer-base | viewer, tile | facultatif | https://map-embed.kaleidr.com | Origine chargée par l’iframe — distincte du CDN du bundle |
api-base | chat, editor, tile | facultatif | https://api.kaleidr.com/inference-api | Doit inclure /inference-api. Une origine seule comme https://api.kaleidr.com renvoie 404 lors de l’échange de session. S’applique à tout produit qui effectue un échange de session (chat, editor, tile). |
tile-base | editor | facultatif | https://tile.kaleidr.com | CDN de tuiles utilisé pour résoudre les valeurs style-id du catalogue |
flag | tous | facultatif | — | Remplacement de dormancy par élément |
* Obligatoire pour une utilisation autorisée/facturée. Viewer n’a pas besoin de clé ; transmettre une clé à un
embed Viewer est rejeté avec product_not_allowed.
Donnez une hauteur à l’élément (style en ligne ou CSS). Chaque produit remplit son
conteneur ; un produit iframe dans un conteneur sans dimensions utilise par défaut
une hauteur fixe de 500px pour rester visible.
Handle matrix
Comportement tel que livré sur /embed/v1/. Les combinaisons non prises en charge ne lèvent pas d’erreur —
le SDK enregistre un avertissement [kaleidr] puis retourne. Cela fait partie du contrat de l’alias majeur v1 ;
supprimer des méthodes appelables constituerait une rupture de comportement.
| Méthode | chat | viewer | editor | tile |
|---|---|---|---|---|
destroy() | oui | oui | oui | oui |
setCamera(camera) | no-op | oui | oui | oui |
setTheme(theme) | oui (live) | n/a | au montage uniquement | n/a |
setStyle(styleId) | n/a | n/a | n/a | exposé uniquement sur tile |
Chat ne pilote pas la caméra de la carte — utilisez l’API de caméra de votre instance
après Kaleidr.mount(...). Le setTheme en direct d’Editor arrivera dans une version ultérieure du SDK ;
le theme au montage fonctionne déjà.
Mises à jour en direct
center, zoom, pitch et bearing sont observés et recadrent viewer,
editor et tile sans remontage. Les changements de theme mettent chat à jour en direct ;
le thème d’editor reste limité au montage.
Chat + map-target
Chat s’attache à votre carte active, ce qu’un attribut string ne peut pas transporter. Deux méthodes permettent de la fournir :
- Impérative (recommandée) :
Kaleidr.mount(el, { product: 'chat', publishableKey, map, contained: true }). - Déclarative : stockez votre instance de carte sur l’élément hôte sous
hostEl.__kaleidrMap__ = map, puis utilisezmap-target="#host".
Sans carte, chat fonctionne en mode headless (aucune interaction avec la carte).