On this page

    Show the trace position with Elevation profile control

    In this step-by-step demonstration, we present a scenario where a marker moves along a specified route on the map. This allows us to synchronize the location of the elevation profile cursor with the marker’s position on the map. This synchronization is made possible through the utilization of the onMove event from the elevation profile control for MapTiler SDK.

    1. Install the npm package.

    2. Create the map style. Add the map style to your stylesheet. The div must have non-zero height.

      
       body { 
         margin: 0;
         padding: 0;
       }
          
       #map {
           position: absolute;
           top: 0;
           bottom: 0;
           width: 100%;
       }
       
    3. Create a <div> element with a certain id where you want your map to be.

      Add <div> tag into your page. This div will be the container where the map will be loaded.

    4. Include the CSS file.

      If you have a bundler that can handle CSS, you can import the CSS from @maptiler/sdk/dist/maptiler-sdk.css.

      Info

      Including the CSS file using a <link> in the head of the document via the CDN is the easiest way.

      
       <link href='https://cdn.maptiler.com/maptiler-sdk-js/{{site.versions.sdk}}/maptiler-sdk.css' rel='stylesheet' />
      
    5. Load the map with the style. Include the following code in your JavaScript.

      
       import { config, Map, helpers, Marker, MapStyle } from '@maptiler/sdk';
          
       config.apiKey = 'YOUR_MAPTILER_API_KEY_HERE';
       const map = new Map({
           container: 'map', // container's id or the HTML element in which SDK will render the map
           style: MapStyle.OUTDOOR,
           center: [0.57705, 42.68311], // starting position [lng, lat]
           zoom: 12.22 // starting zoom
       });
       
    6. Replace YOUR_MAPTILER_API_KEY_HERE with your own API key. Make sure to protect the key before you publish it!

    7. Add a GeoJSON trace to the map. Check out the How to Upload GeoJSON to MapTiler tutorial. Download the Maupas Peak hiking sample data

    8. Create a marker and add it to the map.

    9. Import the MapTiler elevation profile control

    10. Instantiate the control and add it to a Map instance, most likely inside a map "load" event callback

    Learn more

    You can also use elevation control via CDN. See the Elevation profile control example to use it as a CDN instead of an NPM module.

    An extension of MapLibre GL JS

    Was this helpful?

    SDK JS
    Examples
    Show the trace position with Elevation profile control
    Show trace position Elevation profile control