Sveaflet Plugins
Plugin extends Leaflet plugin
Plugin list #
Build plugin component #
In Sveaflet, when you use Svelte’s getContext, you can get context value from parent component, then you can connect your own component with parent component.
For example:
- Svelte
 
<script lang="ts">
	import { setContext, getContext } from 'svelte';
	import { Map } from 'leaflet';
	import type { LeafletContextInterface } from 'sveaflet';
	// context
	let parentContext = getContext<LeafletContextInterface>(Map);
	const { getMap, getLayer } = parentContext;
	$: map = getMap?.();
	$: layer = getLayer?.();
	$: if (map) {
		if (layer) {
			// add you component to parent layer
		}
	}
	// If your component is a layer, you can use setContext
	// setContext(Map, {...parentContext, getLayer: () => })
</script>And this is LeafletContextInterface type defenition:
export type LeafletContextInterface = Readonly<{
	getMap: () => LeafletMap | undefined;
	getLayer?: () => LayerGroup | undefined;
	getControl?: () => Control.Layers | undefined;
	getOverlay?: () => Layer | Marker | undefined;
}>;