Skip to content

๐Ÿงฉ LTileLayer โ€‹

Load tiles from a map server and display them accordingly to map zoom, center and size.

๐Ÿงช Demo โ€‹

vue
<script setup lang="ts">
import { LMap, LTileLayer } from '@maxel01/vue-leaflet'
</script>

<template>
    <LMap :zoom="8" :center="[47.41322, -1.219482]">
        <LTileLayer
            url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
            layer-type="base"
            name="OpenStreetMap"
            :max-zoom="10"
        />
        <LTileLayer
            url="https://s3.amazonaws.com/te512.safecast.org/{z}/{x}/{y}.png"
            layer-type="overlay"
            attribution="<a href='https://blog.safecast.org/about/'>SafeCast</a> (<a href='https://creativecommons.org/licenses/by-sa/3.0/'>CC-BY-SA</a>"
            :min-zoom="5"
            :max-zoom="10"
        />
    </LMap>
</template>

โš™๏ธ Props โ€‹

Prop nameDescriptionTypeReactiveDefaultRequired
tmsIf true, inverses Y axis numbering for tiles (turn this on for TMS services)booleaninitOnly-false
subdomainsSubdomains of the tile service. Can be passed in the form of one string (where each letter is a subdomain name) or an array of strings.string | ArrayinitOnly-false
detectRetinaIf true and user is on a retina display, it will request four tiles of half the specified size and a bigger zoom level in place of one to utilize the high resolution.booleaninitOnly-false
urlA string of the form 'https://{s}.somedomain.com/blabla/{z}/{x}/{y}{r}.png'. See more in the original Leaflet documentationstringtrue-true

๐Ÿ”— Inherited props โ€‹

from GridLayerAbstractProps
Prop nameDescriptionTypeReactiveDefaultRequired
classNameA custom class name to assign to the tile layer. Empty by default.stringinitOnly-false
maxZoomThe maximum zoom level up to which this layer will be displayed (inclusive)numberinitOnly-false
minZoomThe minimum zoom level down to which this layer will be displayed (inclusive)numberinitOnly-false
noWrapWhether the layer is wrapped around the antimeridian. If true, the GridLayer will only be displayed once at low zoom levels. Has no effect when the map CRS doesn't wrap around. Can be used in combination with bounds to prevent requesting tiles outside the CRS limits.booleaninitOnly-false
tileSizeWidth and height of tiles in the grid. Use a number if width and height are equal, or Point(width, height) otherwise.number | PointExpressioninitOnly-false
zIndexThe explicit zIndex of the tile layernumbertrue-false
opacityOpacity of the tiles. Can be used in the createTile() function.numbertrue-false
from LayerProps
Prop nameDescriptionTypeReactiveDefaultRequired
paneBy default, the layer will be added to the map's overlay pane. Overriding this option will cause the layer to be placed on another pane by default. Not effective if the renderer option is set (the renderer option will override the pane option).stringinitOnly-false
attributionString to be shown in the attribution control, e.g. "ยฉ OpenStreetMap contributors". It describes the layer data and is often a legal obligation towards copyright holders and tile providers.stringtrue-false
name-stringtrue-false
layerType-LayerTypetrue-false
visible-booleantrue-false
from ComponentProps
Prop nameDescriptionTypeReactiveDefaultRequired
optionsLeaflet options to pass to the component constructor.TinitOnly-false

๐Ÿ“ก Emits โ€‹

EventArgumentsDescription
update:visiblebooleanTriggers when the visible prop needs to be updated
readyTTriggers when the component is ready

๐Ÿงญ Exposes โ€‹

NameTypeDescription
leafletObjectRef<TileLayer | undefined>The underlying Leaflet instance. Can be used to directly interact with the Leaflet API (e.g. calling methods or accessing internal state).