If you want to set more than one base layers to choose from:
baseLayer
, set candidate layers as the child layers.visible
option of other layers than the default one to false to make them invisible.<!DOCTYPE html> <html> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Control and UIComponents - Layer Switcher</title> <style type="text/css"> html,body{margin:0px;height:100%;width:100%} .container{width:100%;height:100%} </style> <link rel="stylesheet" href="https://unpkg.com/maptalks/dist/maptalks.css"> <script type="text/javascript" src="https://unpkg.com/maptalks/dist/maptalks.min.js"></script> <body> <div id="map" class="container"></div> <script> var map = new maptalks.Map('map', { center: [-0.113049,51.498568], zoom: 14, layerSwitcherControl: { 'position' : 'top-right', // title of base layers 'baseTitle' : 'Base Layers', // title of layers 'overlayTitle' : 'Layers', // layers you don't want to manage with layer switcher 'excludeLayers' : [], // css class of container element, maptalks-layer-switcher by default 'containerClass' : 'maptalks-layer-switcher' }, baseLayer: new maptalks.GroupTileLayer('Base TileLayer', [ new maptalks.TileLayer('Carto light',{ 'urlTemplate': 'https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', 'subdomains' : ['a','b','c','d'] }), new maptalks.TileLayer('Carto dark',{ 'visible' : false, 'urlTemplate': 'https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png', 'subdomains' : ['a','b','c','d'] }) ]) }); var layer = new maptalks.VectorLayer('Vector Markers', [ new maptalks.Marker(map.getCenter().add(0.01, 0.006)), new maptalks.Marker(map.getCenter().add(0.01, 0)), new maptalks.Marker(map.getCenter().add(0.01, -0.006)) ]); layer.addTo(map); var layer2 = new maptalks.VectorLayer('Circle Markers', [ new maptalks.Marker(map.getCenter().add(-0.01, 0.006)), new maptalks.Marker(map.getCenter().add(-0.01, 0)), new maptalks.Marker(map.getCenter().add(-0.01, -0.006)) ], { style : [{ filter : true, symbol : { markerType : 'ellipse', markerWidth : 20, markerHeight : 20, markerFill : '#f00', markerLineWidth : 2 } }] }); layer2.addTo(map); </script> </body> </html>