Elevation Service

by denis_miroshnikov_ts

HTML

<div id="map"></div>
<!-- Replace the value of the key parameter with your own API key. -->

<!--script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script-->

<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk&callback=initMap">
</script>

<!--script type="text/javascript" src="http://rgho.st/download/8XptVHhxR/e845d81796e96780fa6493f5d0da5cbb203d664c/afc8c6cf7bb234c12a8d81ce1cdc42d9954d54e9/googleearth.js"></script-->

CSS

/* Always set the map height explicitly to define the size of the div
 * element that contains the map. */
#map {
  height: 100%;
}
/* Optional: Makes the sample page fill the window. */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

JavaScript

function initMap() {
	//google.load('earth', '1');
  var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 10,
    // 49°30'14.3"N 8°25'26.1"E
    // 49.503972, 8.423917

    center: {lat: 49.503972, lng: 8.423917},  // new one
    mapTypeId: 'hybrid'
  });
  var elevator = new google.maps.ElevationService;
  var infowindow = new google.maps.InfoWindow({map: map});

  // Add a listener for the click event. Display the elevation for the LatLng of
  // the click inside the infowindow.
  map.addListener('click', function(event) {
    displayLocationElevation(event.latLng, elevator, infowindow);
  });
}

function displayLocationElevation(location, elevator, infowindow) {
  // Initiate the location request
  elevator.getElevationForLocations({
    'locations': [location]
  }, function(results, status) {
    infowindow.setPosition(location);
    if (status === 'OK') {
      // Retrieve the first result
      if (results[0]) {
        // Open the infowindow indicating the elevation at the clicked position.
        infowindow.setContent('The elevation at this point <br>is ' +
            results[0].elevation + ' meters.');
      } else {
        infowindow.setContent('No results found');
      }
    } else {
      infowindow.setContent('Elevation service failed due to: ' + status);
    }
  });
}