diff --git a/app/Http/Controllers/SearchController.php b/app/Http/Controllers/SearchController.php index 31521639b00d25e3c7e99ddba5406520c0fd050d..0a2ca4c3d8adeb4c4b2467e37b7f006bb3437df0 100644 --- a/app/Http/Controllers/SearchController.php +++ b/app/Http/Controllers/SearchController.php @@ -43,7 +43,7 @@ public function boundingBoxSearch($search, $latMin, $lonMin, $latMax, $lonMax, $ } } # Wir erstellen die Ergebnisseite (JavaScipt) - $response = Response::make(view('searchResults')->with("results", json_encode($searchResults))->with('adjustView', $adjustView)->with('boundingSuccess', $boundingSuccess), 200); + $response = Response::make(view('searchResults')->with("results", json_encode($searchResults))->with('adjustView', $adjustView)->with('boundingSuccess', $boundingSuccess)->with('bounds', [$latMin, $lonMin, $latMax, $lonMax])->with('search', $search), 200); $response->header('Content-Type', 'application/javascript'); return $response; } diff --git a/resources/views/map.blade.php b/resources/views/map.blade.php index 343af89bfd101988a4bb1356de80d9551585d012..df1e78b57fd1efa1bc94ead707d7135d16721f57 100644 --- a/resources/views/map.blade.php +++ b/resources/views/map.blade.php @@ -41,7 +41,7 @@ <form accept-charset="UTF-8" class="navbar-form navbar-right" id="search" method="GET"> <div class="form-group"> <div class="input-group"> - <input autofocus="" class="form-control" name="q" placeholder="Karten durchsuchen..." type="text" value="{{ Request::input('q', '') }}"/> + <input autofocus="" class="form-control" name="q" placeholder="Karten durchsuchen..." type="text" value="@if(isset($search)){{$search}}@endif"/> <div class="input-group-addon" id="doSearch"> <span class="glyphicon glyphicon-search"> </span> @@ -76,5 +76,12 @@ </main> <script src="/js/all.js"> </script> + @if(isset($javascript)) + <script> + $(document).ready(function(){ + $.getScript('{{$javascript}}'); + }); + </script> + @endif </body> </html> diff --git a/resources/views/searchResults.blade.php b/resources/views/searchResults.blade.php index ae712be95d44712cb74b12b8336d84933fd12354..eb504cb624ed21a44e50a7cf7b6df8c12172205d 100644 --- a/resources/views/searchResults.blade.php +++ b/resources/views/searchResults.blade.php @@ -79,7 +79,6 @@ vectorLayer = new ol.layer.Vector({ map.addLayer(vectorLayer) @if($adjustView === true) -console.log("test"); adjustView(searchResults); @endif @@ -87,3 +86,7 @@ adjustView(searchResults); $(".collapse").collapse("hide"); $("#clearInput").html('<span class="font-bold">X</span>'); +var stateObj = { url: '/{{$search . "/" . $bounds[0] . "/" . $bounds[1] . "/" . $bounds[2] . "/" . $bounds[3]}}'}; +// Change URL +window.history.pushState(stateObj, '', '/map/{{$search . "/" . $bounds[0] . "/" . $bounds[1] . "/" . $bounds[2] . "/" . $bounds[3]}}'); + diff --git a/routes/web.php b/routes/web.php index d0d2b3a9cc3c2fd14e2f12137586d21cc47fc9cd..b1b59c6c75adf2856efe2f20a97622ab36ccdb15 100644 --- a/routes/web.php +++ b/routes/web.php @@ -15,6 +15,10 @@ Route::get('/', function () { return view('map'); }); +Route::get('map/{search}/{latMin}/{lonMin}/{latMax}/{lonMax}', function ($search, $latMin, $lonMin, $latMax, $lonMax) { + return view('map')->with('javascript', "/$search/$latMin/$lonMin/$latMax/$lonMax")->with('search', $search); +}); + Route::get('{search}/{latMin}/{lonMin}/{latMax}/{lonMax}/{adjustView?}', 'SearchController@boundingBoxSearch'); Route::get('metager/{search}', 'SearchController@iframeSearch');