Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
  <head>
    <title>Distance between two points</title>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <style>
      /* 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;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>    
    <script>
      // This example requires the Geometry library. Include the libraries=geometry
      // parameter when you first load the API. For example:
      // <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=geometry">
      var marker1, marker2;
      var poly, geodesicPoly;
      function initMap() {
        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 4,
          center: {lat: 34, lng: -40.605}
        });
        marker1 = new google.maps.Marker({
          map: map,
       
          position: {lat: 42.9814292, lng: -70.9477546}
        });
        marker2 = new google.maps.Marker({
          map: map,
       
          position: {lat: 51.5073509, lng: -0.1277583}
        });
        var bounds = new google.maps.LatLngBounds(
            marker1.getPosition(), marker2.getPosition());
        map.fitBounds(bounds);
       
        poly = new google.maps.Polyline({
          strokeColor: '#FF0000',
          strokeOpacity: 1.0,
          strokeWeight: 3,
          map: map,
        });
        geodesicPoly = new google.maps.Polyline({
          strokeColor: '#CC0099',
          strokeOpacity: 1.0,
          strokeWeight: 3,
          geodesic: true,
          map: map
        });
        var path = [marker1.getPosition(), marker2.getPosition()];
        poly.setPath(path);
        geodesicPoly.setPath(path);
        var heading = google.maps.geometry.spherical.computeHeading(path[0], path[1]);
        var distance = google.maps.geometry.spherical.computeDistanceBetween(path[0], path[1]);
        var midpoint = google.maps.geometry.spherical.interpolate(path[0], path[1], 0.5);
        var infoWindow = new google.maps.InfoWindow({
          content: "Distance: " + distance/1000 + " kilometers",
          position: midpoint
        });
        infoWindow.open(map);
      }
    </script>
    <script src="https://maps.googleapis.com/maps/api/js?libraries=geometry&callback=initMap"
        async defer></script>
  </body>
</html>
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers