DOCS

Utilisation avancee

Techniques d'integration avancees, conseils de performance et modeles d'integration.

Attributs du widget

Le composant web <tickadoo-map> accepte les attributs suivants :

AttributTypePar défautDescription
map-idstringVotre ID de carte (obligatoire)
localestring"en"Langue de l’interface (en, de, es, fr, it, pt, ja, zh, cs)
themestring"system"Thème de couleur : light, dark ou system
mobile-list-variantstring"carousel"Style de liste mobile : carousel ou drawer
enable-routingbooleanfalseAfficher les itinéraires avec sélection marche/vélo/voiture
centerstringCentre initial de la carte en "lng,lat" (ex. "14.42,50.08")
zoomnumber10Niveau de zoom initial (1–20)
booking-modestring"calendar"Type de flux de réservation
use-category-colorsbooleanfalseUtiliser les couleurs de marqueurs par catégorie

Chargement differe

Si la carte n’est pas immediatement visible (par ex. sous la ligne de flottaison ou dans un onglet), differez le chargement pour ameliorer les performances de la page :

Lazy loading
<tickadoo-map map-id="YOUR_MAP_ID" style="height: 500px" loading="lazy">
</tickadoo-map>

Avec loading="lazy", la carte s’initialise uniquement lorsque l’element entre dans la zone visible.

Design responsif

Le widget est responsif par defaut, mais voici des modeles pour les mises en page courantes :

Section pleine largeur

Full-width section
<section style="width: 100%; height: 70vh; min-height: 400px">
  <tickadoo-map map-id="YOUR_MAP_ID" style="width: 100%; height: 100%">
  </tickadoo-map>
</section>

Mise en page avec barre laterale

Sidebar layout
<div style="display: flex; gap: 1rem; height: 600px">
  <div style="flex: 1">
    <!-- Your content -->
  </div>
  <tickadoo-map map-id="YOUR_MAP_ID" style="flex: 1">
  </tickadoo-map>
</div>

Content Security Policy (CSP)

Si votre site utilise une Content Security Policy, vous devrez autoriser ces domaines :

DirectiveDomaineObjectif
script-srcb2b.tickadoo.comScript du widget
connect-srcapi.tickadoo.comRequetes API
connect-srcpmtiles.tickadoo.comDonnees des tuiles de carte
img-src*.tickadoo.comImages et icones
style-src'unsafe-inline'Styles du widget
CSP header example
Content-Security-Policy:
  script-src 'self' b2b.tickadoo.com;
  connect-src 'self' api.tickadoo.com pmtiles.tickadoo.com;
  img-src 'self' *.tickadoo.com;
  style-src 'self' 'unsafe-inline';
Considerations de performance

Le script du widget pese environ 315 Ko compresse (gzip), incluant le moteur de rendu cartographique. Il charge les tuiles a la demande lorsque l’utilisateur navigue et zoome. Pour de meilleures performances :

  • Utilisez defer sur la balise script pour eviter de bloquer le rendu de la page
  • Utilisez loading="lazy" sur le web component s’il est sous la ligne de flottaison
  • Le widget gere automatiquement la mise en cache des tuiles dans le navigateur
Applications monopage (SPA)

Si votre site est une SPA (React, Vue, Angular, etc.), utilisez l’approche web component. L’element <tickadoo-map> fonctionne avec le rendu DOM de n’importe quel framework.

Pour React specifiquement :

React usage
function MapSection({ mapId }: { mapId: string }) {
  return (
    <div style={{ height: "500px" }}>
      <tickadoo-map map-id={mapId} />
    </div>
  );
}

Assurez-vous que le script est charge une seule fois, par exemple dans votre index.html ou via un useEffect dans un composant de haut niveau.

Tip

Un package React officiel (@tickadoo/map-react) est disponible pour une integration de premiere classe. Contactez-nous a support@tickadoo.com pour y acceder. Le web component fonctionne egalement comme module ESM pour d’autres frameworks.