Skip to content

Basemaps

openlayers.basemaps.BasemapLayer

Bases: LayerLike

An OSM raster tile layer

Source code in openlayers/basemaps.py
class BasemapLayer(LayerLike):
    """An OSM raster tile layer"""

    def __init__(self) -> None:
        self._model = TileLayer(id="osm", source=OSM())

    @property
    def model(self) -> TileLayer:
        return self._model

openlayers.basemaps.CartoBasemapLayer

Bases: BasemapLayer

A CartoDB raster tile layer

Source code in openlayers/basemaps.py
class CartoBasemapLayer(BasemapLayer):
    """A CartoDB raster tile layer"""

    def __init__(
        self, style_name: Carto | str = Carto.DARK_ALL, double_resolution: bool = True
    ):
        style = CartoRasterStyle(style=style_name, double_resolution=double_resolution)
        self._model = TileLayer(
            id=f"carto-{Carto(style_name).value.replace('_', '-').replace('/', '-')}",
            source=ImageTileSource(url=style.url, attributions=style.attribution),
        )

openlayers.basemaps.MapTilerBasemapLayer

Bases: BasemapLayer

A MapTiler raster tile layer

Source code in openlayers/basemaps.py
class MapTilerBasemapLayer(BasemapLayer):
    """A MapTiler raster tile layer"""

    def __init__(
        self,
        style_name: MapTiler | str = MapTiler.STREETS_V2,
        api_key: str = os.getenv(MAPTILER_API_KEY_ENV_VAR),
    ) -> None:
        style = (
            MapTiler(style_name).value
            if isinstance(style_name, MapTiler)
            else style_name
        )
        key = MapTilerValidator(api_key=api_key).api_key
        url = f"https://api.maptiler.com/maps/{style}/tiles.json?key={key}"
        self._model = TileLayer(
            id=f"maptiler-{style}",
            source=TileJSONSource(url=url, tile_size=512, cross_origin="anonymous"),
        )