Over the past two years, I’ve focused on creating the documentation for the MapTiler SDK, an open-source JavaScript library designed to extend the functionality of the MapLibre SDK and simplify its use. I aimed to create a comprehensive resource with practical examples for building web maps.
This summer, I shared the documentation through a series of tutorials on social media under the #SummerOfMaps hashtag. Each week, I covered a new topic with seven examples.
Following the series from start to finish provides a solid foundation for building web maps, even if you have no prior experience, so I have gathered them all here in one place for you to work through!
Warm-up: What are web maps and how do they work
The week before the launch, I shared a few articles and videos created by my colleagues. These resources cover the theoretical foundations of web maps, explaining what they are, how they function, and the underlying mathematics that makes them work.
- Map tiles & pyramid: How web maps work | Web Mapping Basic #1
- Zoom levels & map scale | Web Mapping Basic #2
- Lat Long, meters, and pixels in web maps | Web Mapping Basic #3
- Map Projections EPSG: 3857 & 4326 | Web Mapping Basics #4
- What are vector tiles and why you should care
How to add a map to the web; the basics
In the first week, I covered the basics of adding a map to a webpage. The only prerequisites were a basic understanding of JavaScript and HTML—no prior experience with web maps or map libraries was necessary.
- Add a map to a webpage
- How to use the MapTiler SDK JS
- Change map styles
- How to change the default map labels language
- Display a 3D terrain map
- How to center map based on visitor’s location
- Cooperative gestures
Pinpoint locations with markers
A common feature of web maps is the marker, which indicates the location of specific elements. It could be a basic pin, a custom icon, an image, or something that reveals additional data when clicked. Markers can also connect to external data sources to load information dynamically. Throughout the tutorials, you'll learn how to implement each of these options.
- Display simple marker on the map
- Add an icon to the map
- Animate a marker
- Add custom icons with markers
- Attach a popup to a marker instance
- How to add a custom icon (PNG) to a point layer
- How to add a custom icon (SVG) to a point layer
Present data as points on a map
Points in web maps are used to represent individual data elements. You'll learn how to display points on a map, apply styling based on their attributes, and group them into clusters for easier visualization of large datasets. Additionally, you’ll explore how to convert point data into heatmaps, making it easier to spot density patterns and trends at a glance.
- Show point data from GeoJSON on the map
- Animate a point along a route
- Point layer (point helper)
- Point layer colored and sized according to a property (point helper)
- Point layer labels (point helper)
- Point layer cluster (point helper)
- Heatmap layer (heatmap helper)
Add lines to your web map
Lines are another key element for displaying geographic information. You’ll learn how to add basic lines from GeoJSON, apply gradients, create lines that indicate progress (e.g., tracking a moving object), explore different line types, and style them for better visualization.
- Show line data from GeoJSON on the map
- Create a gradient line using an expression
- Style lines with a data-driven property
- Update a feature in realtime
- Add a GPX Line layer (polyline helper)
- Line dash pattern symbol (polyline helper)
- Line outline glow blur symbol (polyline helper)
Add polygons to your web map
Polygons are another common way to represent geospatial data, often used to show area boundaries or the density of features within a region. You’ll learn how to add basic polygons, fill them with patterns or color gradients based on data intensity, integrate pop-ups, and combine them with points and lines for complex visualizations.
- Show polygon data from GeoJSON on the map
- Show multiGeometry data from GeoJSON on the map
- Polygon fill pattern (polygon helper)
- Polygon color ramp symbol (polygon helper)
- Show polygon information on click
- Create a hover effect
- Visualize population density
How to adjust map controls
To enhance usability, you'll want to provide your users with intuitive control options. You'll learn how to add basic controls like zoom buttons and tilt & shift controls, as well as more advanced features such as location tracking, a scale bar, a minimap, geocoding search, and even an AR button that allows users to view the map in augmented reality on compatible devices.
- Ready event
- Geolocate control how to get the user’s location using the GPS
- Scale control display
- How to display a minimap or overview map control to aid the map navigation
- Geocoding control how to search places
- Geocoding search results to specified country(ies)
- Getting started with AR maps: Display an AR control on your maps
Adding additional data sources to a web map
Even though MapTiler provides various data sources, there may be times when you need to incorporate your own data. You'll learn how to add custom layers, including raster layers, hillshade, vector tiles, local GeoJSON files, and even video, giving you full control over the map's content.
- Show raster image on the map
- Add hillshading
- Add a WMS source
- Add a vector tile source
- View local GeoJSON
- Add a new layer below labels
- Add a video
Create a weather map
While often viewed as niche, weather maps are surprisingly easy to integrate into your website and are worth experimenting with. In the examples, you’ll learn how to add layers for precipitation, radar data, pressure, temperature, and wind direction. We'll also dive into more advanced use cases where you can combine multiple layers to create richer visualizations.
- Weather precipitation layer
- Weather radar layer
- Weather pressure layer
- Weather temperature layer
- Weather wind show direction arrow
- Weather custom popup
- Weather layer switcher
Complex examples
In the final week, I shifted focus to more complex examples, combining the concepts from earlier tutorials with new techniques. These examples demonstrated how to build tools that could function as a minimal viable product for your future applications.
- Elevation profile control
- How to get the elevation at a given position
- Interactive choropleth map
- Point filtering by property
- How to sync the map with a list of places
- Get POIs information on click
- How to migrate/switch from Mapbox to MapTiler
Do you still want more?
You can find all posts about the #SummerOfMaps series on Twitter/X, LinkedIn, and Facebook. Our documentation and API reference provide even more examples.
If you prefer using Leaflet, OpenLayers, or other map libraries, you’ll find examples for them in the documentation as well.
Top comments (1)
Bookmarking! Looking forward to working my way through these.