Use maps interactively with JavaScript
If you want to build a rich web map application and embedding a map using an iframe is not sufficient, you can insert a map into your web using JavaScript.
After you log in to MapTiler Cloud administration, click on one of the available maps, and you will see under the Use vector style and Raster tiles headers links to Examples of usage with different JavaScript libraries.
Vector tiles
Vector tiles are a modern technology for displaying a map on the web. It is available in all plans, including the Free. It gives end-users a better experience zooming and panning because the map is dynamically changing instead of loading a completely new layer with raster tiles. Vector tiles are also smaller and save not only storage space, but also internet traffic. Thanks to the vector technology, it automatically supports any resolution, including HiDPI (retina) displays.
The downside is the higher hardware requirement on the client-side because the final map is rendered in the browser. It also requires up-to-date browsers with WebGL support. Due to its novelty, the support in different JavaScript viewers is also limited. Therefore, we recommend using MapTiler SDK, which has in-built support for vector tiles and comes with built-in map styles to pick from, showing detailed street-level information, 3d terrain, and satellite imagery for the entire world. It is possible to use an older version of Mapbox GL JS, but alsoOpenLayersor Leaflet with a plugin for vector tiles.
Automatically generated source code for vector tiles viewer
MapTiler team also prepared tutorials for most common javascript frameworks.
Raster tiles
Raster tiles is a traditional method of displaying a map on the web. Due to the higher requirements for rendering and data storage, it is available for paid customers with higher plans only.
For raster tiles, you can use OpenLayers or Leaflet JavaScript libraries. The choice depends on your requirements.
OpenLayers
OpenLayers is a mature, robust JavaScript library rich in features and very flexible on deployment. With OpenLayers, you can build complex web applications and connect them with other GIS systems. It is also well documented, and the development is very active.
The downside is a size, which is more than 10 times bigger than Leaflet. It is hard to start but powerful.
Leaflet
The leaflet is a fresh but already stable JavaScript library for displaying a map on the web. The main advantage is a smaller size and simplicity, where you can quickly create an eye-candy web application.
While it can do most of the tasks of OpenLayers, it can lack some advanced functionality. However, a lot of functions can be added by third-party plugins.
Maps generated by MapTiler Engine
If you have a map in MapTiler Engine, you have two easy options of how to show it on the web using OpenLayers or Leaflet. Before you start with rendering, you need to select an output format.
MBTiles can be easily uploaded to MapTiler Cloud and served using OpenLayers or Leaflet with the above instructions.
If you prefer self-hosting, select the Folder option, upload it to your server, and open it in a browser. There is a simple viewer with a menu on the left: here you can select the Source code for your favorite viewer.
Related guides
- Automatically created API key
- Check if MapLibre GL JS is supported
- Coordinates API
- Dataset upload - formats and limits
- Difference between 256x256, 512x512, and HiDPI/Retina rasterized tiles
- Exported Tiles Multiplier
- Generalization in maps
- How are the tile requests cached in web browser?
- How MapTiler map tiles are Generated and Delivered
- How to add Geocoding control to Maplibre GL JS map