Class ElevationSampler

ElevationSampler

Permet d'échantillonner les altitudes à des emplacements spécifiques.
L'exemple ci-dessous montre comment utiliser cette classe pour déterminer le point le plus élevé de l'itinéraire entre Denver et Grand Junction, dans le Colorado, le représenter sur une carte et enregistrer la carte dans 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'),
);

Voir aussi

Méthodes

MéthodeType renvoyéBrève description
sampleLocation(latitude, longitude)ObjectRenvoie les données d'altitude pour un seul point (lat/lng).
sampleLocations(points)ObjectRenvoie les données d'altitude pour une série de points (lat/lng).
sampleLocations(encodedPolyline)ObjectRenvoie les données d'altitude pour les points d'une polyligne encodée.
samplePath(points, numSamples)ObjectRenvoie les données d'altitude pour un certain nombre d'échantillons le long d'une ligne, définie à l'aide d'une série de points.
samplePath(encodedPolyline, numSamples)ObjectRenvoie les données d'altitude pour un certain nombre d'échantillons le long d'une ligne, définie à l'aide d'une polyligne encodée.

Documentation détaillée

sampleLocation(latitude, longitude)

Renvoie les données d'altitude pour un seul point (lat/lng).

// Gets the elevation of Times Square using a point.
const data = Maps.newElevationSampler().sampleLocation(40.759011, -73.984472);
Logger.log(data.results[0].elevation);

Paramètres

NomTypeDescription
latitudeNumberLatitude du point à échantillonner.
longitudeNumberLongitude du point à échantillonner.

Renvois

Object : objet JSON contenant les données d'altitude, comme décrit ici.


sampleLocations(points)

Renvoie les données d'altitude pour une série de points (lat/lng).

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

Paramètres

NomTypeDescription
pointsNumber[]Tableau de paires latitude/longitude.

Renvois

Object : objet JSON contenant les données d'altitude, comme décrit ici.


sampleLocations(encodedPolyline)

Renvoie les données d'altitude pour les points d'une polyligne encodée.

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

Paramètres

NomTypeDescription
encodedPolylineStringPolyligne encodée de points à échantillonner.

Renvois

Object : objet JSON contenant les données d'altitude, comme décrit ici.


samplePath(points, numSamples)

Renvoie les données d'altitude pour un certain nombre d'échantillons le long d'une ligne, définie à l'aide d'une série de points.

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

Paramètres

NomTypeDescription
pointsNumber[]Tableau de paires latitude/longitude définissant un chemin à échantillonner.
numSamplesIntegerNombre de points à échantillonner le long du chemin.

Renvois

Object : objet JSON contenant les données d'altitude, comme décrit ici.


samplePath(encodedPolyline, numSamples)

Renvoie les données d'altitude pour un certain nombre d'échantillons le long d'une ligne, définie à l'aide d'une polyligne encodée.

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

Paramètres

NomTypeDescription
encodedPolylineStringPolyligne encodée de points définissant un chemin à échantillonner.
numSamplesIntegerNombre de points à échantillonner le long du chemin.

Renvois

Object : objet JSON contenant les données d'altitude, comme décrit ici.