Zum Inhalt springen

Widget einbinden

<pixelmap-widget> ist eine eigenständige Karte, die Sie in jede Seite stellen können: CMS-Artikel, Landingpage, statische Site. Sie bringt ihre eigenen Stile mit (Shadow DOM), lädt erst beim Scrollen und hijackt nie das Seiten-Scrollen.

Es gibt zwei Wege hinein. Nehmen Sie den ersten, wenn Sie HTML in ein CMS einfügen; den zweiten, wenn Ihre Seite ohnehin einen Bundler hat.

Zwei Schnipsel, sonst nichts — kein Build, kein npm.

<script type="module" src="https://maps.pixelmap.at/widget/pixelmap-widget.js"></script>
<pixelmap-widget
config-url="https://maps.pixelmap.at/demo/config.json"
cta-href="https://maps.pixelmap.at/demo/"
height="420px"
></pixelmap-widget>

Das Script-Tag steht einmal pro Seite, das Element so oft Sie wollen.

  1. config-url zeigt auf die config.json Ihrer Karte: https://maps.pixelmap.at/<kürzel>/config.json. Ohne sie rendert nichts — es ist die einzige Pflichtangabe.

  2. cta-href ist das Ziel des Knopfes „Auf großer Karte ansehen”, also in aller Regel Ihre volle Karte: https://maps.pixelmap.at/<kürzel>/. Ohne diese Angabe erscheint der Knopf gar nicht. Soll die große Karte Ihre Auswahl zeigen statt des ganzen Bestands, setzen Sie zusätzlich cta-scope="selection" (ab 0.14.0) — siehe Die Auswahl mitnehmen.

  3. height ist optional (Vorgabe 400px). Sie können die Höhe stattdessen per CSS setzen, auch responsiv:

    pixelmap-widget { height: 420px; max-width: 640px; }
  • Es lädt erst, wenn es sichtbar wird. Karte, Daten und MapLibre entstehen beim ersten Sichtkontakt. Mehrere Widgets weit unten auf einer langen Seite kosten bis dahin nichts.
  • Es bleibt in seiner Box. Alles rendert in einem eigenen Shadow DOM: Ihr Seiten-CSS kann die Karte nicht zerschießen, und die Kartenstile laufen nicht in Ihre Seite aus.
  • Es nimmt Ihnen das Scrollen nicht weg. Zoomen verlangt Strg/⌘ + Rad am Desktop und zwei Finger am Touchgerät; bei einem einfachen Wischen erscheint ein Hinweis statt eines Zoomsprungs.
  • Es braucht kein zusätzliches CSS. Das MapLibre-Stylesheet steckt im Widget.