DOCS

Pokročilé použití

Pokročilé techniky vkládání, tipy pro výkon a vzory integrace.

Atributy widgetu

Webová komponenta <tickadoo-map> přijímá tyto atributy:

AtributTypVýchozíPopis
map-idstringID vaší mapy (povinné)
localestring"en"Jazyk rozhraní (en, de, es, fr, it, pt, ja, zh, cs)
themestring"system"Barevný motiv: light, dark nebo system
mobile-list-variantstring"carousel"Styl mobilního seznamu: carousel nebo drawer
enable-routingbooleanfalseZobrazit navigaci s výběrem chůze/kola/auta
centerstringPočáteční střed mapy jako "lng,lat" (např. "14.42,50.08")
zoomnumber10Počáteční úroveň přiblížení (1–20)
booking-modestring"calendar"Typ rezervačního procesu
use-category-colorsbooleanfalsePoužít barvy značek podle kategorií

Lazy loading

Pokud mapa není okamžitě viditelná (např. pod ohybem stránky nebo v záložce), odložte načítání pro zlepšení výkonu stránky:

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

S loading="lazy" se mapa inicializuje až když element vstoupí do viditelné oblasti.

Responzivní design

Widget je ve výchozím nastavení responzivní, ale zde jsou vzory pro běžné rozložení:

Sekce na plnou šířku

Sekce na plnou šířku
<section style="width: 100%; height: 70vh; min-height: 400px">
  <tickadoo-map map-id="YOUR_MAP_ID" style="width: 100%; height: 100%">
  </tickadoo-map>
</section>

Rozložení s postranním panelem

Rozložení s postranním panelem
<div style="display: flex; gap: 1rem; height: 600px">
  <div style="flex: 1">
    <!-- Váš obsah -->
  </div>
  <tickadoo-map map-id="YOUR_MAP_ID" style="flex: 1">
  </tickadoo-map>
</div>

Content Security Policy (CSP)

Pokud váš web používá Content Security Policy, budete muset povolit tyto domény:

DirektivaDoménaÚčel
script-srcb2b.tickadoo.comScript widgetu
connect-srcapi.tickadoo.comAPI požadavky
connect-srcpmtiles.tickadoo.comData mapových dlaždic
img-src*.tickadoo.comObrázky a ikony
style-src'unsafe-inline'Styly widgetu
Příklad CSP hlavičky
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';
Poznámky k výkonu

Script widgetu má přibližně 315 KB po gzip kompresi (včetně mapového rendereru). Mapové dlaždice se načítají na vyžádání, když uživatel posouvá a přibližuje mapu. Pro nejlepší výkon:

  • Použijte defer na script tagu, abyste neblokovali vykreslování stránky
  • Použijte loading="lazy" na web komponentě, pokud je pod ohybem stránky
  • Widget automaticky spravuje cachování dlaždic v prohlížeči
Single Page Applications (SPA)

Pokud je váš web SPA (React, Vue, Angular atd.), použijte přístup s web komponentou. Element <tickadoo-map> funguje s DOM vykreslováním jakéhokoli frameworku.

Konkrétně pro React:

Použití v Reactu
function MapSection({ mapId }: { mapId: string }) {
  return (
    <div style={{ height: "500px" }}>
      <tickadoo-map map-id={mapId} />
    </div>
  );
}

Ujistěte se, že script je načten jednou, např. ve vašem index.html nebo přes useEffect v komponentě nejvyšší úrovně.

Tip

Oficiální React balíček (@tickadoo/map-react) je k dispozici pro prvotřídní integraci. Kontaktujte nás na support@tickadoo.com pro přístup. Web komponenta funguje také jako ESM modul pro ostatní frameworky.