Class ElevationSampler

ElevationSampler

Belirli konumlarda yüksekliklerin örneklenmesine olanak tanır.
Aşağıdaki örnekte, bu sınıfı kullanarak Colorado'daki Denver'dan Grand Junction'a giden rotadaki en yüksek noktayı nasıl belirleyebileceğiniz, bunu haritada nasıl çizebileceğiniz ve haritayı Google Drive'a nasıl kaydedebileceğiniz gösterilmektedir.

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

Aşağıdaki kaynakları da incelemenizi öneririz:

Yöntemler

YöntemDönüş türüKısa açıklama
sampleLocation(latitude, longitude)ObjectTek bir nokta (enlem/boylam) için yükseklik verilerini döndürür.
sampleLocations(points)ObjectBir dizi nokta (enlem/boylam) için yükseklik verilerini döndürür.
sampleLocations(encodedPolyline)ObjectKodlanmış bir çoklu çizgi üzerindeki noktaların yükseklik verilerini döndürür.
samplePath(points, numSamples)ObjectBir dizi nokta kullanılarak tanımlanan bir çizgi üzerindeki bir dizi örnek için yükseklik verilerini döndürür.
samplePath(encodedPolyline, numSamples)ObjectKodlanmış bir çoklu çizgi kullanılarak tanımlanan bir çizgi üzerindeki bir dizi örnek için yükseklik verilerini döndürür.

Ayrıntılı belgeler

sampleLocation(latitude, longitude)

Tek bir nokta (enlem/boylam) için yükseklik verilerini döndürür.

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

Parametreler

AdTürAçıklama
latitudeNumberÖrnekleme yapılacak noktanın enlemi.
longitudeNumberÖrnekleme yapılacak noktanın boylamı.

Return

Object: Yükseklik verilerini içeren bir JSON nesnesi (burada açıklandığı gibi).


sampleLocations(points)

Bir dizi nokta (enlem/boylam) için yükseklik verilerini döndürür.

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

Parametreler

AdTürAçıklama
pointsNumber[]Enlem/boylam çiftleri dizisi.

Return

Object: Yükseklik verilerini içeren bir JSON nesnesi (burada açıklandığı gibi).


sampleLocations(encodedPolyline)

Kodlanmış bir çoklu çizgi üzerindeki noktaların yükseklik verilerini döndürür.

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

Parametreler

AdTürAçıklama
encodedPolylineStringÖrneklenmesi gereken noktaların kodlanmış bir çoklu çizgisi.

Return

Object: Yükseklik verilerini içeren bir JSON nesnesi (burada açıklandığı gibi).


samplePath(points, numSamples)

Bir dizi nokta kullanılarak tanımlanan bir çizgi üzerindeki bir dizi örnek için yükseklik verilerini döndürür.

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

Parametreler

AdTürAçıklama
pointsNumber[]Örnekleme yapılacak bir yolu tanımlayan enlem/boylam çiftleri dizisi.
numSamplesIntegerNokta yolu boyunca örneklenmesi gereken nokta sayısı.

Return

Object: Yükseklik verilerini içeren bir JSON nesnesi (burada açıklandığı gibi).


samplePath(encodedPolyline, numSamples)

Kodlanmış bir çoklu çizgi kullanılarak tanımlanan bir çizgi üzerindeki bir dizi örnek için yükseklik verilerini döndürür.

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

Parametreler

AdTürAçıklama
encodedPolylineStringÖrnekleme yapılacak yolu tanımlayan noktaların kodlanmış çoklu çizgisi.
numSamplesIntegerNokta yolu boyunca örneklenmesi gereken nokta sayısı.

Return

Object: Yükseklik verilerini içeren bir JSON nesnesi (burada açıklandığı gibi).