Allows for the sampling of elevations at particular locations.
The example below shows how you can use this class to determine the highest point along the route
from Denver to Grand Junction in Colorado, plot it on a map, and save the map to Google Drive.
// Get directions from Denver to Grand Junction. var directions = Maps.newDirectionFinder() .setOrigin('Denver, CO') .setDestination('Grand Junction, CO') .setMode(Maps.DirectionFinder.Mode.DRIVING) .getDirections(); var route = directions.routes[0]; // Get elevation samples along the route. var numberOfSamples = 30; var response = Maps.newElevationSampler() .samplePath(route.overview_polyline.points, numberOfSamples) // Determine highest point. var maxElevation = Number.MIN_VALUE; var highestPoint = null; for (var i = 0; i < response.results.length; i++) { var sample = response.results[i]; if (sample.elevation > maxElevation) { maxElevation = sample.elevation; highestPoint = sample.location; } } // Add the path and marker to a map. var map = Maps.newStaticMap() .addPath(route.overview_polyline.points) .addMarker(highestPoint.lat, highestPoint.lng); // Save the map to your drive DocsList.createFile(Utilities.newBlob(map.getMapImage(), 'image/png', 'map.png'));
See also
Methods
Method | Return type | Brief description |
---|---|---|
sampleLocation(latitude, longitude) | Object | Returns elevation data for a single point (lat/lng). |
sampleLocations(points) | Object | Returns elevation data for a series of points (lat/lng). |
sampleLocations(encodedPolyline) | Object | Returns elevation data for the points in an encoded polyline. |
samplePath(points, numSamples) | Object | Returns elevation data for a number of samples along a line, defined using a series of points. |
samplePath(encodedPolyline, numSamples) | Object | Returns elevation data for a number of samples along a line, defined using an encoded polyline. |
Detailed documentation
sampleLocation(latitude, longitude)
Returns elevation data for a single point (lat/lng).
// Gets the elevation of Times Square using a point. var data = Maps.newElevationSampler().sampleLocation(40.759011, -73.984472); Logger.log(data.results[0].elevation);
Parameters
Name | Type | Description |
---|---|---|
latitude | Number | the latitude of the point to sample |
longitude | Number | the longitude of the point to sample |
Return
Object
— a JSON Object containing the elevation data, as described here
sampleLocations(points)
Returns elevation data for a series of points (lat/lng).
// Gets the elevation of Times Square and Central Park using points. var data = Maps.newElevationSampler().sampleLocations([ // Times Square 40.759011, -73.984472, // Central Park 40.777052, -73.975464 ]); Logger.log('Times Square: ' + data.results[0].elevation); Logger.log('Central Park: ' + data.results[1].elevation);
Parameters
Name | Type | Description |
---|---|---|
points | Number[] | an array of latitude/longitude pairs |
Return
Object
— a JSON Object containing the elevation data, as described here
sampleLocations(encodedPolyline)
Returns elevation data for the points in an encoded polyline.
// Gets the elevation of Times Square and Central Park using a polyline. var data = Maps.newElevationSampler().sampleLocations('yvwwF|aqbMwoBiw@'); Logger.log('Times Square: ' + data.results[0].elevation); Logger.log('Central Park: ' + data.results[1].elevation);
Parameters
Name | Type | Description |
---|---|---|
encodedPolyline | String | an encoded polyline of points to sample |
Return
Object
— a JSON Object containing the elevation data, as described here
samplePath(points, numSamples)
Returns elevation data for a number of samples along a line, defined using a series of points.
// Gets the elevation of five points between Times Square and Central Park. var data = Maps.newElevationSampler().samplePath([ // Times Square 40.759011, -73.984472, // Central Park 40.777052, -73.975464 ], 5); for (var i = 0; i < data.results.length; i++) { Logger.log(data.results[i].elevation); }
Parameters
Name | Type | Description |
---|---|---|
points | Number[] | an array of latitude/longitude pairs defining a path to sample over |
numSamples | Integer | the number of points to sample along the path of points |
Return
Object
— a JSON Object containing the elevation data, as described here
samplePath(encodedPolyline, numSamples)
Returns elevation data for a number of samples along a line, defined using an encoded polyline.
// Gets the elevation of five points between Times Square and Central Park. var data = Maps.newElevationSampler().samplePath('yvwwF|aqbMwoBiw@', 5); for (var i = 0; i < data.results.length; i++) { Logger.log(data.results[i].elevation); }
Parameters
Name | Type | Description |
---|---|---|
encodedPolyline | String | an encoded polyline of points defining a path to sample over |
numSamples | Integer | the number of points to sample along the path of points |
Return
Object
— a JSON Object containing the elevation data, as described here