Tile Layer#
Example#
from ipyleaflet import Map, basemaps, basemap_to_tiles
m = Map(center=(52.204793, 360.121558), zoom=9)
dark_matter_layer = basemap_to_tiles(basemaps.CartoDB.DarkMatter)
m.add(dark_matter_layer)
m
Usage#
Creating a TileLayer is straightforward, a dictionary containing basic tile layers is provided.
This dictionary is named basemaps.
A TileLayer instance can be created using the basemap_to_tiles function, specifying the wanted map
(e.g. basemaps.CartoDB.DarkMatter, basemaps.Strava.Winter, basemaps.NASAGIBS.ModisTerraTrueColorCR, …).
Sometimes one could want to specify the date of the given images, for instance with NASA images:
nasa_layer = basemap_to_tiles(basemaps.NASAGIBS.ModisTerraTrueColorCR, "2018-04-08");
m.add(nasa_layer);
To use multiple base maps and the built in base map switching in LayerControl, it is possible to create the desired TileLayer objects and set base to True.
These layers can then be passed in an array to Map(layers):
from ipyleaflet import Map, basemaps, basemap_to_tiles
from ipyleaflet import LayersControl
mapnik = basemap_to_tiles(basemaps.OpenStreetMap.Mapnik)
mapnik.base = True
toner = basemap_to_tiles(basemaps.Stadia.StamenTerrain)
toner.base = True
m = Map(layers=[mapnik, toner], center=(52.204793, 360.121558), zoom=9)
# use the LayersControl to switch basemaps
m.add(LayersControl())
m
Attributes and methods#
Note that if you want to display a high resolution layer with a quite large zoom, you have to set max_zoom and max_native_zoom with equal value.
- class ipyleaflet.leaflet.TileLayer(**kwargs: Any)[source]#
TileLayer class.
Tile service layer.
- url#
Url to the tiles service.
- Type:
string, default “https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png”
- min_zoom#
The minimum zoom level down to which this layer will be displayed (inclusive).
- Type:
int, default 0
- max_zoom#
The maximum zoom level up to which this layer will be displayed (inclusive).
- Type:
int, default 18
- min_native_zoom#
Minimum zoom number the tile source has available. If it is specified, the tiles on all zoom levels lower than min_native_zoom will be loaded from min_native_zoom level and auto-scaled.
- Type:
int, default None
- max_native_zoom#
Maximum zoom number the tile source has available. If it is specified, the tiles on all zoom levels higher than max_native_zoom will be loaded from max_native_zoom level and auto-scaled.
- Type:
int, default None
- bounds#
List of SW and NE location tuples. e.g. [(50, 75), (75, 120)].
- Type:
list or None, default None
- tile_size#
Tile sizes for this tile service.
- Type:
int, default 256
- attribution#
Tiles service attribution.
- Type:
string, default None.
- no_wrap#
Whether the layer is wrapped around the antimeridian.
- Type:
boolean, default False
- tms#
If true, inverses Y axis numbering for tiles (turn this on for TMS services).
- Type:
boolean, default False
- zoom_offset#
The zoom number used in tile URLs will be offset with this value.
- Type:
int, default 0
- show_loading#
Whether to show a spinner when tiles are loading.
- Type:
boolean, default False
- loading#
Whether the tiles are currently loading.
- Type:
boolean, default False (dynamically updated)
- detect_retina#
- Type:
boolean, default False
- opacity#
- Type:
float, default 1.0
- visible#
- Type:
boolean, default True
- bounds#
list of SW and NE location tuples