TileLayer
Used to load and display tile layers on the map. Extends GridLayer.
Usage example
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png?{foo}', {foo: 'bar'}).addTo(map);
URL template
A string of the following form:
'http://{s}.somedomain.com/blabla/{z}/{x}/{y}{r}.png'
You can use custom keys in the template, which will be evaluated from TileLayer options, like this:
L.tileLayer('http://{s}.somedomain.com/{foo}/{z}/{x}/{y}.png', {foo: 'bar'});
Creation
Extension methods
| Factory | Description |
|---|---|
L.tilelayer( |
Instantiates a tile layer object given a URL template and optionally an options object. |
Options
| Option | Type | Default | Description |
|---|---|---|---|
minZoom |
Number
| 0 |
Minimum zoom number. |
maxZoom |
Number
| 18 |
Maximum zoom number. |
maxNativeZoom |
Number
| null |
Maximum zoom number the tile source has available. If it is specified,
the tiles on all zoom levels higher than maxNativeZoom will be loaded
from maxNativeZoom level and auto-scaled. |
subdomains |
String|String[]
| 'abc' |
Subdomains 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. |
errorTileUrl |
String
| '' |
URL to the tile image to show in place of the tile that failed to load. |
zoomOffset |
Number
| 0 |
The zoom number used in tile URLs will be offset with this value. |
tms |
Boolean
| false |
If true, inverses Y axis numbering for tiles (turn this on for TMS services). |
zoomReverse |
Boolean
| false |
If set to true, the zoom number used in tile URLs will be reversed (maxZoom - zoom instead of zoom) |
detectRetina |
Boolean
| false |
If 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. |
crossOrigin |
Boolean
| false |
If true, all tiles will have their crossOrigin attribute set to ''. This is needed if you want to access tile pixel data. |
| Option | Type | Default | Description |
|---|---|---|---|
tileSize |
Number|Point
| 256 |
Width and height of tiles in the grid. Use a number if width and height are equal, or L.point(width, height) otherwise. |
opacity |
Number
| 1.0 |
Opacity of the tiles. Can be used in the createTile() function. |
updateWhenIdle |
Boolean
| depends |
If false, new tiles are loaded during panning, otherwise only after it (for better performance). true by default on mobile browsers, otherwise false. |
updateWhenZooming |
Boolean
| true |
By default, a smooth zoom animation (during a touch zoom or a flyTo()) will update grid layers every integer zoom level. Setting this option to false will update the grid layer only when the smooth animation ends. |
updateInterval |
Number
| 200 |
Tiles will not update more than once every updateInterval milliseconds when panning. |
attribution |
String
| null |
String to be shown in the attribution control, describes the layer data, e.g. "© OpenStreetMap contributors". |
zIndex |
Number
| 1 |
The explicit zIndex of the tile layer. |
bounds |
LatLngBounds
| undefined |
If set, tiles will only be loaded inside the set LatLngBounds. |
noWrap |
Boolean
| false |
Whether 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. |
pane |
String
| 'tilePane' |
Map pane where the grid layer will be added. |
className |
String
| '' |
A custom class name to assign to the tile layer. Empty by default. |
keepBuffer |
Number
| 2 |
When panning the map, keep this many rows and columns of tiles before unloading them. |
Events
| Event | Data | Description |
|---|---|---|
loading
| ||
tileunload
| ||
tileloadstart
| ||
tileerror
| ||
tileload
| ||
load
|
| Event | Data | Description |
|---|---|---|
popupopen
| ||
popupclose
|
| Event | Data | Description |
|---|---|---|
tooltipopen
| ||
tooltipclose
|
Methods
| Method | Returns | Description |
|---|---|---|
setUrl( |
this |
Updates the layer's URL template and redraws it (unless |
createTile( |
HTMLElement |
Called only internally, overrides GridLayer's |
Extension methods
| Method | Returns | Description |
|---|---|---|
getTileUrl( |
String |
Called only internally, returns the URL for a tile given its coordinates.
Classes extending |
| Method | Returns | Description |
|---|---|---|
bringToFront() |
this |
Brings the tile layer to the top of all tile layers. |
bringToBack() |
this |
Brings the tile layer to the bottom of all tile layers. |
getAttribution() |
String |
Used by the |
getContainer() |
HTMLElement |
Returns the HTML element that contains the tiles for this layer. |
setOpacity( |
this |
Changes the opacity of the grid layer. |
setZIndex( |
this |
Changes the zIndex of the grid layer. |
isLoading() |
Boolean |
Returns |
redraw() |
this |
Causes the layer to clear all the tiles and request them again. |
getTileSize() |
Point |
Normalizes the tileSize option into a point. Used by the |
| Method | Returns | Description |
|---|---|---|
bindPopup( |
this |
Binds a popup to the layer with the passed |
unbindPopup() |
this |
Removes the popup previously bound with |
openPopup( |
this |
Opens the bound popup at the specificed |
closePopup() |
this |
Closes the popup bound to this layer if it is open. |
togglePopup() |
this |
Opens or closes the popup bound to this layer depending on its current state. |
isPopupOpen() |
boolean |
Returns |
setPopupContent( |
this |
Sets the content of the popup bound to this layer. |
getPopup() |
Popup |
Returns the popup bound to this layer. |
| Method | Returns | Description |
|---|---|---|
bindTooltip( |
this |
Binds a tooltip to the layer with the passed |
unbindTooltip() |
this |
Removes the tooltip previously bound with |
openTooltip( |
this |
Opens the bound tooltip at the specificed |
closeTooltip() |
this |
Closes the tooltip bound to this layer if it is open. |
toggleTooltip() |
this |
Opens or closes the tooltip bound to this layer depending on its current state. |
isTooltipOpen() |
boolean |
Returns |
setTooltipContent( |
this |
Sets the content of the tooltip bound to this layer. |
getTooltip() |
Tooltip |
Returns the tooltip bound to this layer. |
| Method | Returns | Description |
|---|---|---|
addTo( |
this |
Adds the layer to the given map |
remove() |
this |
Removes the layer from the map it is currently active on. |
removeFrom( |
this |
Removes the layer from the given map |
getPane( |
HTMLElement |
Returns the |
| Method | Returns | Description |
|---|---|---|
on( |
this |
Adds a listener function ( |
on( |
this |
Adds a set of type/listener pairs, e.g. |
off( |
this |
Removes a previously added listener function. If no function is specified, it will remove all the listeners of that particular event from the object. Note that if you passed a custom context to |
off( |
this |
Removes a set of type/listener pairs. |
off() |
this |
Removes all listeners to all events on the object. |
fire( |
this |
Fires an event of the specified type. You can optionally provide an data object — the first argument of the listener function will contain its properties. The event might can optionally be propagated to event parents. |
listens( |
Boolean |
Returns |
once(…) |
this |
Behaves as |
addEventParent( |
this |
Adds an event parent - an |
removeEventParent( |
this |
Removes an event parent, so it will stop receiving propagated events |
addEventListener(…) |
this |
Alias to |
removeEventListener(…) |
this |
Alias to |
clearAllEventListeners(…) |
this |
Alias to |
addOneTimeEventListener(…) |
this |
Alias to |
fireEvent(…) |
this |
Alias to |
hasEventListeners(…) |
Boolean |
Alias to |
TileLayermight reimplement the following method.