<!DOCTYPE html>
<html>
  <head>
    <title>Add a search field</title>
    <meta charset="utf-8" />
    <script src="../../bower_components/leaflet/dist/leaflet.js"></script>
    <link rel="stylesheet" href="../../bower_components/leaflet/dist/leaflet.css"/>
    <script src="../../bower_components/leaflet-providers/leaflet-providers.js"></script>
    <link rel="stylesheet" href="../../bower_components/leaflet-search/src/leaflet-search.css"/>
    <script src="../../bower_components/leaflet-search/src/leaflet-search.js"></script>
    <style>
      body {
        margin: 0;
        padding: 0;
      }
      #mapDiv {
        position: absolute;
        top: 0;
        bottom: 0;
        width: 100%;
      }
    </style>
  </head>
  <body>
    <div id='mapDiv'></div>
    <script>
      var latLon = [53.56250, 9.95982];
      var zoom = 18;

      var osmLayer = L.tileLayer.provider('OpenStreetMap.Mapnik');
      var germanLayer = L.tileLayer.provider('OpenStreetMap.DE');

      var myMap = L.map('mapDiv', {layers: osmLayer}).setView(latLon, zoom);

      var baseLayers = {
                         'OSM': osmLayer, 
                         'German': germanLayer
                       };
      L.control.layers(baseLayers).addTo(myMap);

      var searchControl = new L.Control.Search({
        url: 'http://nominatim.openstreetmap.org/search?format=json&q={s}',
        jsonpParam: 'json_callback',
        propertyName: 'display_name',
        propertyLoc: ['lat','lon'],
        circleLocation: true,
        markerLocation: false,                  
        autoType: false,
        autoCollapse: true,
        minLength: 2,
        zoom: 17
      });

      myMap.addControl(searchControl);

    </script>
  </body>
</html>