Pin route (right click removes)

Allow user to pin their route

by mrshozza

HTML

<div id="floating-panel">
      <!--<input onclick="clearMarkers();" type=button value="Hide Markers">-->
      <input onclick="showMarkers();" type=button value="Show All Markers">
      <input onclick="deleteMarkers();" type=button value="Delete Markers">
      <input onclick="shortestRoute();" type="button" value="Fastest/Shortest">
    </div>

      <!--
      <div>
        <strong>Results</strong>
      </div>
      <div id="output"></div>
      -->
      <div id="map"></div>
      
    
<!-- Replace the value of the key parameter with your own API key. -->
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB8jrhWL-OtWuvh6wgs_XeAUWNro2psFsk&callback=initMap">
</script>

CSS

#floating-panel {
        position: absolute;
        top: 10px;
        left: 25%;
        z-index: 5;
        background-color: #fff;
        padding: 5px;
        border: 1px solid #999;
        text-align: center;
        font-family: 'Roboto','sans-serif';
        line-height: 30px;
        padding-left: 10px;
      }

      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
      #map {
        height: 100%;
        width: 100%;
      }

JavaScript

var map;
var markers = [];
var mydestsraw=[]

function initMap() { 

   map = new google.maps.Map(document.getElementById('map'), {
          center: {lat: 52, lng: -2},
          zoom: 6
  });

  google.maps.event.addListener(map, 'click', function(event) {
    addMarker(event.latLng);
    
  });
  
  google.maps.event.addListener(map, 'rightclick', function(event) {
    deleteMarker(event);
  });
/*  function placeMarker(location) {
    var marker = new google.maps.Marker({
        position: location, 
        map: map
    });
    map.setCenter(location);
  }
 */
  function shortestRoute(){
  	alert("hello");
  }


  //for (permutation of permutations)
  //  console.log(permutation) //Use 

}

  
  function permut(string) {
    if (string.length < 2) return string; // This is our break condition
    var permutations = []; // This array will hold our permutations
    for (var i=0; i<string.length; i++) {
        var char = [string[i]];
        var remainingString = string.slice(0,i).concat( string.slice(i+1,string.length)); //Note: you can concat Strings via '+' in JS
				permut(remainingString).forEach(function(val){
        	permutations.push(char.concat(val))
        })
    }
    return permutations;
  }
  
  function route(permutation,myorigin){
  	var myroute=myorigin[0]
  	for (var i=0; i<permutation.length; i++){
    //	myroute += '\n'+myorigin[permutation[i]]+" ("+mydestsraw[permutation[i]].getTitle()+")"   	
      myroute += '\n'+mydestsraw[permutation[i]].getTitle()
    }
    return myroute
  }
  
  function shortestRoute(){
  
  
  var quickest=1
  var shortest=1
  var myorigin = ['Cambridge, England']
  // On the syandard plan the max dests is 9!
  //var mydests = ['Wakefield, England','Liverpool, England'] //,'Manchester, England','Hartlepool, England','Mirfield, England','Dewsbury, England','Birmingham, England','Leicester, England','Chorley, England']
  //convert our markers to strings?
  var mydests=[]
  mydestsraw=[0]
  for (var i=0;...