Class ElevationSampler

ElevationSampler

Possibilita a amostragem de elevações em locais específicos.
O exemplo abaixo mostra como você pode usar essa classe para determinar o ponto mais alto ao longo do trajeto de Denver a Grand Junction no Colorado, trace-o em um mapa e salve-o no 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'));

Consulte também

Métodos

MétodoTipo de retornoBreve descrição
sampleLocation(latitude, longitude)ObjectRetorna dados de elevação para um único ponto (lat/lng).
sampleLocations(points)ObjectRetorna dados de elevação para uma série de pontos (lat/lng).
sampleLocations(encodedPolyline)ObjectRetorna dados de elevação para os pontos em uma polilinha codificada.
samplePath(points, numSamples)ObjectRetorna dados de elevação para alguns exemplos ao longo de uma linha, definidos usando uma série de pontos.
samplePath(encodedPolyline, numSamples)ObjectRetorna dados de elevação para alguns exemplos ao longo de uma linha, definidos usando uma polilinha codificada.

Documentação detalhada

sampleLocation(latitude, longitude)

Retorna dados de elevação para um único ponto (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);

Parâmetros

NomeTipoDescrição
latitudeNumbera latitude do ponto a ser amostrado
longitudeNumbera longitude do ponto a ser amostrado

Retornar

Object: um objeto JSON que contém os dados de elevação, conforme descrito aqui


sampleLocations(points)

Retorna dados de elevação para uma série de pontos (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);

Parâmetros

NomeTipoDescrição
pointsNumber[]uma matriz de pares de latitude/longitude

Retornar

Object: um objeto JSON que contém os dados de elevação, conforme descrito aqui


sampleLocations(encodedPolyline)

Retorna dados de elevação para os pontos em uma polilinha codificada.

// 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);

Parâmetros

NomeTipoDescrição
encodedPolylineStringuma polilinha codificada de pontos para amostrar

Retornar

Object: um objeto JSON que contém os dados de elevação, conforme descrito aqui


samplePath(points, numSamples)

Retorna dados de elevação para alguns exemplos ao longo de uma linha, definidos usando uma série de pontos.

// 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);
}

Parâmetros

NomeTipoDescrição
pointsNumber[]uma matriz de pares de latitude/longitude que definem um caminho para a amostragem
numSamplesIntegero número de pontos a serem amostrados ao longo do caminho de pontos

Retornar

Object: um objeto JSON que contém os dados de elevação, conforme descrito aqui


samplePath(encodedPolyline, numSamples)

Retorna dados de elevação para alguns exemplos ao longo de uma linha, definidos usando uma polilinha codificada.

// 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);
}

Parâmetros

NomeTipoDescrição
encodedPolylineStringuma polilinha codificada de pontos que define um caminho para amostragem
numSamplesIntegero número de pontos a serem amostrados ao longo do caminho de pontos

Retornar

Object: um objeto JSON que contém os dados de elevação, conforme descrito aqui