Elevation Service Stay organized with collections Save and categorize content based on your preferences.
AI-generated Key Takeaways
This example demonstrates how to use the
ElevationServiceto display the elevation of a clicked point on a map.It uses an infowindow to show the elevation at the clicked location, retrieved using the
getElevationForLocationsmethod.The sample code is provided in both TypeScript and JavaScript, with the JavaScript compiled from the TypeScript.
Users can click on the map to see the elevation at the clicked point, and error handling is included in case the service fails.
The HTML, CSS, and JavaScript code snippets are provided, along with options to try the sample in JSFiddle or Google Cloud Shell.
This example demonstrates the use of theElevationService object.Click on the map to display the elevation at the clicked point. Read thedocumentation.
TypeScript
functioninitMap():void{constmap=newgoogle.maps.Map(document.getElementById("map")asHTMLElement,{zoom:8,center:{lat:63.333,lng:-150.5},// Denali.mapTypeId:"terrain",});constelevator=newgoogle.maps.ElevationService();constinfowindow=newgoogle.maps.InfoWindow({});infowindow.open(map);// Add a listener for the click event. Display the elevation for the LatLng of// the click inside the infowindow.map.addListener("click",(event)=>{displayLocationElevation(event.latLng,elevator,infowindow);});}functiondisplayLocationElevation(location:google.maps.LatLng,elevator:google.maps.ElevationService,infowindow:google.maps.InfoWindow){// Initiate the location requestelevator.getElevationForLocations({locations:[location],}).then(({results})=>{infowindow.setPosition(location);// Retrieve the first resultif(results[0]){// Open the infowindow indicating the elevation at the clicked position.infowindow.setContent("The elevation at this point <br>is "+results[0].elevation+" meters.");}else{infowindow.setContent("No results found");}}).catch((e)=>infowindow.setContent("Elevation service failed due to: "+e));}declareglobal{interfaceWindow{initMap:()=>void;}}window.initMap=initMap;
JavaScript
functioninitMap(){constmap=newgoogle.maps.Map(document.getElementById("map"),{zoom:8,center:{lat:63.333,lng:-150.5},// Denali.mapTypeId:"terrain",});constelevator=newgoogle.maps.ElevationService();constinfowindow=newgoogle.maps.InfoWindow({});infowindow.open(map);// Add a listener for the click event. Display the elevation for the LatLng of// the click inside the infowindow.map.addListener("click",(event)=>{displayLocationElevation(event.latLng,elevator,infowindow);});}functiondisplayLocationElevation(location,elevator,infowindow){// Initiate the location requestelevator.getElevationForLocations({locations:[location],}).then(({results})=>{infowindow.setPosition(location);// Retrieve the first resultif(results[0]){// Open the infowindow indicating the elevation at the clicked position.infowindow.setContent("The elevation at this point <br>is "+results[0].elevation+" meters.",);}else{infowindow.setContent("No results found");}}).catch((e)=>infowindow.setContent("Elevation service failed due to: "+e),);}window.initMap=initMap;
CSS
/* * Always set the map height explicitly to define the size of the div element * that contains the map. */#map{height:100%;}/* * Optional: Makes the sample page fill the window. */html,body{height:100%;margin:0;padding:0;}
HTML
<html> <head> <title>Elevation Service</title> <link rel="stylesheet" type="text/css" href="./style.css" /> <script type="module" src="./index.js"></script> </head> <body> <div></div> <!-- The `defer` attribute causes the script to execute after the full HTML document has been parsed. For non-blocking uses, avoiding race conditions, and consistent behavior across browsers, consider loading using Promises. See https://developers.google.com/maps/documentation/javascript/load-maps-js-api for more information. --> <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg&callback=initMap&v=weekly" defer ></script> </body></html>
Try Sample
Clone Sample
Git and Node.js are required to run this sample locally. Follow theseinstructions to install Node.js and NPM. The following commands clone, install dependencies and start the sample application.
gitclone-bsample-elevation-simplehttps://github.com/googlemaps/js-samples.gitcdjs-samplesnpminpmstart
Other samples can be tried by switching to any branch beginning withsample-SAMPLE_NAME.
gitcheckoutsample-SAMPLE_NAMEnpminpmstart
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-11-21 UTC.