Customize Elevation profile control
The elevation profile control for MapTiler SDK provides various options for customization, allowing users to choose between metric and imperial units. With built-in defaults, the control effortlessly achieves a visually appealing appearance. Furthermore, it offers a wide range of customization features, including styling options, the ability to define a class for the container, and even the option to display the control in a separate container outside the map.
To demonstrate this, we will utilize specific styling options to personalize the control and create it within its dedicated container located outside the map.
-
Install the npm package.
-
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%; } #profileContainer { background: #252525; width: 50vw; height: 200px; margin-top: 20px; position: absolute; bottom: 10px; }
-
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. -
Create a
<div>
element with a certain id where you want your control to be.Add
<div>
tag into your page. This div will be the container where the control will be loaded. -
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.
-
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.BACKDROP.DARK, center: [0.57705, 42.68311], // starting position [lng, lat] zoom: 12.22 // starting zoom });
-
Replace
YOUR_MAPTILER_API_KEY_HERE
with your actual MapTiler API key. -
Add a GeoJSON trace to the map. Check out the How to Upload GeoJSON to MapTiler Cloud tutorial. Download the Maupas Peak hiking sample data
-
Create a marker and add it to the map.
-
Import the MapTiler elevation profile control
-
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.