---
title: "Elevation profile control | Elevation profile | JavaScript maps SDK"
description: "Elevation profile control module for MapTiler SDK JS."
---

> For AI agents: a documentation index is available at [/llms.txt](https://docs.maptiler.com/llms.txt). Markdown versions of all pages are available by appending .md to any URL.

# Elevation profile control

 ![NpmLogo](https://docs.maptiler.com/assets/img/npm.svg) [Get it from npm registry](https://www.npmjs.com/package/@maptiler/elevation-profile-control)  
![GitHubLogo](https://docs.maptiler.com/assets/img/github.svg) [View source code on GitHub](https://github.com/maptiler/maptiler-elevation-profile-control)

The elevation profile control module for [MapTiler SDK](https://docs.maptiler.com/sdk-js/) provides an easy way to visualize the [elevation](https://docs.maptiler.com/guides/developer/location-services/elevation/) of any GeoJSON trace; whether it’s a `LineString` or a `MultiLineString`, this trace can be in a `Feature` or `FeatureCollection`. If multiple features are eligible in the provided dataset, the features will be concatenated and displayed together as a unique route. The module uses the [Elevation API Client JS](https://docs.maptiler.com/client-js/#%EF%B8%8F-elevation).

The elevation profile control is customizable in many ways and supports **metric** and **imperial** units.

## Get started

Check out the [Get started with Elevation profile control example](https://docs.maptiler.com/sdk-js/examples/elevation-profile-control-simple/).

## API reference

This [reference](https://docs.maptiler.com/sdk-js/modules/elevation-profile/api/) documents every object and method available. Each section describes classes or objects as well as their **properties, parameters, methods**, and associated **events**. Many sections also include inline code examples and related resources.

## Computing elevation

Sometimes, the route data passed to the method `.setData()` will contain only longitude and latitude information but no elevation. In that case, the control will automatically fetch and compute the elevation data before displaying the profile. Under the hood, the MapTiler Client library performs this operation using elevation data from MapTiler.

* * *

## Related examples

 [![Customize Elevation profile control](https://docs.maptiler.com/assets/img/example-card.png)

### Customize Elevation profile control

Example

Customize the MapTiler SDK elevation profile control interface.](https://docs.maptiler.com/sdk-js/examples/elevation-profile-control-customized/)

 [![Elevation profile control](https://docs.maptiler.com/assets/img/example-card.png)

### Add elevation profile control

Example

Show elevation profiles for GeoJSON traces using MapTiler.](https://docs.maptiler.com/sdk-js/examples/elevation-profile-control-simple/)

 [![How to display GPX track elevation profile](https://docs.maptiler.com/assets/img/example-card.png)

### Display GPX track elevation profile

Example

Display the elevation profile of any GPX track.](https://docs.maptiler.com/sdk-js/examples/elevation-profile-control-gpx/)

 [![Show the trace position with Elevation profile control](https://docs.maptiler.com/assets/img/example-card.png)

### Show trace position Elevation profile control

Example

Synchronize a moving map marker with elevation profile cursor.](https://docs.maptiler.com/sdk-js/examples/elevation-profile-control-marker/)

 [![Show zoomed section in Elevation profile control](https://docs.maptiler.com/assets/img/example-card.png)

### Zoomed section Elevation profile control

Example

Display a zoomed-in section on the elevation profile.](https://docs.maptiler.com/sdk-js/examples/elevation-profile-control-zoomed-section/)
