<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Multiple Styles</title>
    <link href="https://tiles.locationiq.com/v2/libs/leaflet/1.3.3/leaflet.css" rel="stylesheet" type="text/css"/>
    <style type="text/css">
        body {
            margin: 0;
        }
        #map {
            width: 100vw;
            height: 100vh;
        }
    </style>
</head>
<body>

<div id='map'></div>
<script type="text/javascript" src="https://tiles.locationiq.com/v2/libs/leaflet/1.3.3/leaflet.js"></script>
<script type="text/javascript" src="https://tiles.unwiredmaps.com/js/leaflet-unwired.js"></script>
<script type="text/javascript">
    // Maps access token goes here
    var key = 'pk.a5c3fbf2119bfb2275b62eddbccd76b3';

    // Add layers that we need to the map
    var streets = L.tileLayer.Unwired({key: key, scheme: "streets"});
    var dark = L.tileLayer.Unwired({key: key, scheme: "dark"});
    var light = L.tileLayer.Unwired({key: key, scheme: "light"});

    // Initialize the map
    var map = L.map('map', {
        center: [39.73, -104.99], // Map loads with this location as center
        zoom: 14,
        scrollWheelZoom: true,
        layers: [streets],
        zoomControl: false
    });

    // Add the 'zoom' control
    L.control.zoom({
        position:'topright'
    }).addTo(map);

    // Add the 'layers' control
    L.control.layers({
        "Streets": streets,
        "Dark": dark,
        "Light": light
    }, null, {
        position: "topright"
    }).addTo(map);

    // Add the 'scale' control
    L.control.scale().addTo(map);
    L.control.locate({
        position: "bottomright"
    }).addTo(map);


    //fix for white lines in satellite view https://github.com/Leaflet/Leaflet/issues/3575#issuecomment-362230413
    (function(){
        var originalInitTile = L.GridLayer.prototype._initTile
        L.GridLayer.include({
            _initTile: function (tile) {
                originalInitTile.call(this, tile);

                var tileSize = this.getTileSize();

                tile.style.width = tileSize.x + 1 + 'px';
                tile.style.height = tileSize.y + 1 + 'px';
            }
        });
    })()

</script>
</body>
</html>