// SET UP THE MAP

var mapProjection = new ol.proj.Projection({
  code: 'EPSG:3857',
  extent: [-20037508, -20037508, 20037508, 20037508.34]
})
var geoProjection = new ol.proj.Projection({
  code: 'EPSG:4326',
  extent: [-180, -180, 180, 180]
})

var map = new ol.Map({
  layers:[
    new ol.layer.Tile({
      source: new ol.source.XYZ({
        url: 'https://api.mapbox.com/styles/v1/mapbox/outdoors-v10/tiles/256/{z}/{x}/{y}?access_token=pk.eyJ1Ijoid2lsbC1icmVpdGtyZXV0eiIsImEiOiItMTJGWEF3In0.HEvuRMMVxBVR5-oDYvudxw'
      })
    })
  ],
  target: 'map',
  view: new ol.View({
    center: ol.proj.transform([-96, 39], geoProjection, mapProjection),
    zoom: 5
  })
});

var app = {
    mapzenKey: 'mapzen-CpAANqF', 
    activeSearch: 'from',
  	options: [],
  	selection: {
    	from: {},
      	to: {}
    },

    typeAhead: function(e){
      var el = e.target;
      var val = el.value;
      if (val.length > 2) {
      	app.queryAutocomplete(val, function(err, data){
      		if(err) return console.log(err);
          	if(data.features) app.options = data.features;
          	app.renderResultsList();
      	})
      }
    },
  
  	queryAutocomplete: throttle(function(text, callback){
      $.ajax({
      	url: 'https://search.mapzen.com/v1/autocomplete?text=' + text + '&api_key=' + app.mapzenKey,
        success: function(data, status, req){
        	callback(null, data);
        },
        error: function(req, status, err){
        	callback(err)
        }
      })
    }, 150),
  
  	renderResultsList: function(){
    	var resultsList = $('#results-list');
      	resultsList.empty();
      
      	var results = app.options.map(function(feature){
        	var li = $('<li class="results-list-item">' + feature.properties.label + '</li>');
          	li.on('click', function(){
            	app.selectItem(feature);	
            })
          	return li;
        })
    	
        resultsList.append(results);
      
      	if(app.options.length > 0) {
        	resultsList.removeClass('hidden');
        } else {
        	resultsList.addClass('hidden');
        }
    },
      
      selectItem: function(feature){
      	app.selection[app.activeSearch] = feature;
        var elId = '#search-' + app.activeSearch + '-input';
        $(elId).val(feature.properties.label);
        app.clearList();
      },
        
      clearList: function(){
      	app.options = [];
        app.renderResultsList();
      }
};

$('#search-from-input').on('keyup', {input:'from'}, app.typeAhead);

@@ -1115,16 +1115,55 @@
     %09%7D)%0A
+      %7D else %7B%0A      %09app.clearList();%0A
       %7D%0A
@@ -2134,18 +2134,16 @@
    %0A    
-  
 selectIt
@@ -2348,26 +2348,24 @@
 List();%0A    
-  
 %7D,%0A        %0A
@@ -2360,26 +2360,24 @@
 %7D,%0A        %0A
-  
     clearLis
@@ -2447,24 +2447,196 @@
 tsList();%0A  
+  %7D,%0A  %0A  %09clearSearch: function()%7B%0A    %09var elId = '#search-' + e.data.input + '-input';%0A      %09$(elId).val('').trigger('keyup');%0A      %09app.selection%5Be.data.input%5D = %7B%7D;%0A
     %7D%0A%7D;%0A%0A$(
@@ -2701,8 +2701,78 @@
 Ahead);%0A
+$('#clear-from-search').on('click', %7Binput:'from'%7D, app.clearSearch);%0A

Update app.js