@watergis/svelte-maplibre-legend
TypeScript icon, indicating that this package has built-in type declarations

4.0.1 • Public • Published

svelte-maplibre-legend

GitHub npm npm npm bundle size (scoped)

This is a svelte component to make layer legend for maplibre-gl

demo.gif

Install

npm i @watergis/svelte-maplibre-legend

or

yarn add @watergis/svelte-maplibre-legend

Usage

See Example.

<script lang="ts">
  import { LegendPanel, LegendHeader } from '@watergis/svelte-maplibre-legend';

  // create maplibre.Map object
  let map = new Map();

  // set style for legend
  style = map.getStyle()

  let onlyRendered = true
  let onlyRelative = true
  let enableLayerOrder = false;

  // to set filter to enable to show only relative layers and alias of layer name
  let relativeLayers: { [key: string]: string } = {
    pipeline: 'Pipeline'
  };
</script>

<div class="primary-container">
  <div class="legend-header">
    <LegendHeader bind:onlyRendered bind:onlyRelative {relativeLayers} />
  </div>
  <div class="legend-content">
    <LegendPanel bind:map={$map} {style} bind:onlyRendered bind:onlyRelative bind:enableLayerOrder {relativeLayers} disableVisibleButton={false}/>
  </div>
</div>

<style>
  $height: calc(100vh - 56px);

	.primary-container {
		display: flex;
		flex-direction: column;
		position: relative;

		.legend-header {
			padding-left: 0.5rem;
			padding-top: 0.5rem;
			padding-bottom: 0.5rem;
		}

		.legend-content {
			overflow-x: hidden;
			overflow-y: auto;
			height: $height;
			width: 100%;
		}
	}
</style>

create-svelte

Everything you need to build a Svelte project, powered by create-svelte.

Creating a project

If you're seeing this, you've probably already done this step. Congrats!

# create a new project in the current directory
npm create svelte@latest

# create a new project in my-app
npm create svelte@latest my-app

Developing

Once you've created a project and installed dependencies with npm install (or pnpm install or yarn), start a development server:

npm run dev

# or start the server and open the app in a new browser tab
npm run dev -- --open

Building

To create a production version of your app:

npm run build

You can preview the production build with npm run preview.

To deploy your app, you may need to install an adapter for your target environment.

/@watergis/svelte-maplibre-legend/

    Package Sidebar

    Install

    npm i @watergis/svelte-maplibre-legend

    Weekly Downloads

    79

    Version

    4.0.1

    License

    MIT

    Unpacked Size

    458 kB

    Total Files

    126

    Last publish

    Collaborators

    • j_igarashi