Svelte Maplibre

Marker Layer

<script lang="ts">
  import MapLibre from 'svelte-maplibre/MapLibre.svelte';
  import GeoJSON from 'svelte-maplibre/GeoJSON.svelte';
  import { mapClasses } from '../styles.js';
  import code from './+page.svelte?raw';
  import CodeSample from '$site/CodeSample.svelte';
  import states from '$site/states.json?url';
  import MarkerLayer from 'svelte-maplibre/MarkerLayer.svelte';
  import Popup from 'svelte-maplibre/Popup.svelte';
</script>

<MapLibre
  style="https://basemaps.cartocdn.com/gl/positron-gl-style/style.json"
  class={mapClasses}
  standardControls
  center={[-98.137, 40.137]}
  zoom={4}
>
  <GeoJSON id="states" data={states} promoteId="STATEFP">
    <MarkerLayer interactive>
      {#snippet children({ feature })}
        <div class="rounded-full bg-gray-200 p-2 shadow">
          <div class="text-sm font-bold">{feature.properties?.NAME}</div>
        </div>
        <Popup openOn="hover">
          {feature.properties?.NAME} has FIPS code {feature.properties?.STATEFP}
        </Popup>
      {/snippet}
    </MarkerLayer>
  </GeoJSON>
</MapLibre>

Back to Examples

Github