DOCS

Uso Avancado

Tecnicas avancadas de incorporacao, dicas de desempenho e padroes de integracao.

Atributos do widget

O componente web <tickadoo-map> aceita os seguintes atributos:

AtributoTipoPadrãoDescrição
map-idstringSeu ID do mapa (obrigatório)
localestring"en"Idioma da interface (en, de, es, fr, it, pt, ja, zh, cs)
themestring"system"Tema de cor: light, dark ou system
mobile-list-variantstring"carousel"Estilo da lista mobile: carousel ou drawer
enable-routingbooleanfalseMostrar direções com seleção de caminhada/bicicleta/carro
centerstringCentro inicial do mapa como "lng,lat" (ex. "14.42,50.08")
zoomnumber10Nível de zoom inicial (1–20)
booking-modestring"calendar"Tipo de fluxo de reserva
use-category-colorsbooleanfalseUsar cores de marcadores por categoria

Carregamento lazy

Se o mapa nao e imediatamente visivel (ex.: abaixo da dobra ou em uma aba), adie o carregamento para melhorar o desempenho da pagina:

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

Com loading="lazy", o mapa so inicializa quando o elemento entra no viewport.

Design responsivo

O widget e responsivo por padrao, mas aqui estao padroes para layouts comuns:

Secao em largura total

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>

Layout com barra lateral

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>

Politica de Seguranca de Conteudo (CSP)

Se seu site usa uma Politica de Seguranca de Conteudo, voce precisara permitir estes dominios:

DiretivaDominioFinalidade
script-srcb2b.tickadoo.comScript do widget
connect-srcapi.tickadoo.comRequisicoes da API
connect-srcpmtiles.tickadoo.comDados dos tiles do mapa
img-src*.tickadoo.comImagens e icones
style-src'unsafe-inline'Estilos do 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';
Consideracoes de desempenho

O script do widget tem aproximadamente 315KB compactado (incluindo o renderizador de mapa). Ele carrega tiles do mapa sob demanda conforme o usuario navega e aplica zoom. Para melhor desempenho:

  • Use defer na tag script para evitar bloquear a renderizacao da pagina
  • Use loading="lazy" no Web Component se ele estiver abaixo da dobra
  • O widget trata automaticamente o cache de tiles no navegador
Aplicacoes de Pagina Unica (SPAs)

Se seu site e uma SPA (React, Vue, Angular, etc.), use a abordagem de Web Component. O elemento <tickadoo-map> funciona com a renderizacao DOM de qualquer framework.

Para React especificamente:

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

Certifique-se de que o script seja carregado apenas uma vez, por exemplo, no seu index.html ou via useEffect em um componente de nivel superior.

Tip

Um pacote React oficial (@tickadoo/map-react) esta disponivel para integracao de primeira classe. Entre em contato em support@tickadoo.com para acesso. O Web Component tambem funciona como modulo ESM para outros frameworks.