Changing basemaps¶
Phew! That was a lot to go over! But now you should take sometime to think about the design choices we have to make as map makers. One important consideration is deciding on which basemap to use.
Recall the code here:
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
Explore basemap options¶
Go to:
And pick a basemap that you like, a simple basemap with few colors is always preferred over a busy basemap:
Busy
Less busy
API Keys
Some may require an API Key and even try to charge you for views, it is recommend to avoid them if they do so, but you can learn more here on how to sign-up and use an API Key for the different Providers: https://github.com/leaflet-extras/leaflet-providers#providers
Click on the basemap you prefer:
Copy the basemap code¶
Copy the Plain JavaScript
in the middle:
Adding the basemap¶
And put the code after const map
delcaration in your js/init.js
file:
const map = L.map('the_map').setView(mapOptions.center, mapOptions.zoom);
let Esri_WorldGrayCanvas = L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/{z}/{y}/{x}', {
attribution: 'Tiles © Esri — Esri, DeLorme, NAVTEQ',
maxZoom: 16
});
Esri_WorldGrayCanvas.addTo(map)
// add layer control box
L.control.layers(null,layers).addTo(map)
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
Change the var
to let
and be sure to add the variable
to your map, like so:
const map = L.map('the_map').setView(mapOptions.center, mapOptions.zoom);
let Esri_WorldGrayCanvas = L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/{z}/{y}/{x}', {
attribution: 'Tiles © Esri — Esri, DeLorme, NAVTEQ',
maxZoom: 16
});
Esri_WorldGrayCanvas.addTo(map)
// add layer control box
L.control.layers(null,layers).addTo(map)
// L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
// attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
// }).addTo(map);
Be sure to delete or comment out the other basemap, as you don’t need two basemaps!
🏁Final check point¶
Lab Assignment¶
Alright! Now you should be ready to take on the lab assignment for the week!
Refactor Challenge¶
If you are up for an extra challenge, try to do the refactoring challenge!