Class ElevationSampler

ElevationSampler

Permite 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 no trajeto de Denver até o Grand Junction no Colorado, traçá-lo em um mapa e salvar o mapa 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'));

Veja 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 várias amostras ao longo de uma linha, definidas usando uma série de pontos.
samplePath(encodedPolyline, numSamples)ObjectRetorna dados de elevação para um número de amostras ao longo de uma linha, definidas 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 para a amostragem
longitudeNumbera longitude do ponto a ser coletado

Retorno

Object: um objeto JSON contendo 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

Retorno

Object: um objeto JSON contendo 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

Retorno

Object: um objeto JSON contendo os dados de elevação, conforme descrito aqui.


samplePath(points, numSamples)

Retorna dados de elevação para várias amostras ao longo de uma linha, definidas 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 amostragem
numSamplesIntegero número de pontos a serem analisados ao longo do caminho

Retorno

Object: um objeto JSON contendo os dados de elevação, conforme descrito aqui.


samplePath(encodedPolyline, numSamples)

Retorna dados de elevação para um número de amostras ao longo de uma linha, definidas 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 a amostragem
numSamplesIntegero número de pontos a serem analisados ao longo do caminho

Retorno

Object: um objeto JSON contendo os dados de elevação, conforme descrito aqui.