Class ElevationSampler

ElevationSampler

Permite a amostragem de elevações em locais específicos.
O exemplo abaixo mostra como usar essa classe para determinar o ponto mais alto da rota de Denver até Grand Junction, no Colorado, representar esse ponto em um mapa e salvar o mapa no Google Drive.

// Get directions from Denver to Grand Junction.
const directions = Maps.newDirectionFinder()
                       .setOrigin('Denver, CO')
                       .setDestination('Grand Junction, CO')
                       .setMode(Maps.DirectionFinder.Mode.DRIVING)
                       .getDirections();
const route = directions.routes[0];

// Get elevation samples along the route.
const numberOfSamples = 30;
const response = Maps.newElevationSampler().samplePath(
    route.overview_polyline.points,
    numberOfSamples,
);

// Determine highest point.

let highestLocation = null;
let highestElevation = Number.MIN_VALUE;
for (const sample of response.results) {
  if (sample.elevation > highestElevation) {
    highestElevation = sample.elevation;
    highestLocation = sample.location;
  }
}

// Add the path and marker to a map.
const map = Maps.newStaticMap()
                .addPath(route.overview_polyline.points)
                .addMarker(highestLocation.lat, highestLocation.lng);

// Save the map to your drive
DriveApp.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 (latitude/longitude).
sampleLocations(points)ObjectRetorna dados de elevação para uma série de pontos (latitude/longitude).
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, definida usando uma série de pontos.
samplePath(encodedPolyline, numSamples)ObjectRetorna dados de elevação para várias amostras ao longo de uma linha, definida usando uma polilinha codificada.

Documentação detalhada

sampleLocation(latitude, longitude)

Retorna dados de elevação para um único ponto (latitude/longitude).

// Gets the elevation of Times Square using a point.
const 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 (latitude/longitude).

// Gets the elevation of Times Square and Central Park using points.
const 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.
const 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 amostragem.

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 várias amostras ao longo de uma linha, definida usando uma série de pontos.

// Gets the elevation of five points between Times Square and Central Park.
const data = Maps.newElevationSampler().samplePath(
    [
      // Times Square
      40.759011,
      -73.984472,
      // Central Park
      40.777052,
      -73.975464,
    ],
    5,
);
for (let 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 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 várias amostras ao longo de uma linha, definida usando uma polilinha codificada.

// Gets the elevation of five points between Times Square and Central Park.
const data = Maps.newElevationSampler().samplePath('yvwwF|aqbMwoBiw@', 5);
for (let i = 0; i < data.results.length; i++) {
  Logger.log(data.results[i].elevation);
}

Parâmetros

NomeTipoDescrição
encodedPolylineStringUma polilinha codificada de pontos que definem 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.