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

4.0.0 • 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.

Package Sidebar

Install

npm i @watergis/svelte-maplibre-legend

Weekly Downloads

10

Version

4.0.0

License

MIT

Unpacked Size

455 kB

Total Files

126

Last publish

Collaborators

  • j_igarashi