From 61bc89927f32e21471ab823120bafb08cebf5f21 Mon Sep 17 00:00:00 2001 From: Dominik Pfennig <dominik@suma-ev.de> Date: Tue, 15 Nov 2016 08:30:41 +0100 Subject: [PATCH] =?UTF-8?q?Der=20aktuelle=20Status=20der=20Karte=20wird=20?= =?UTF-8?q?bei=20Suchen=20nun=20in=20die=20URL=20=C3=BCbertragen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/SearchController.php | 2 +- resources/views/map.blade.php | 9 ++++++++- resources/views/searchResults.blade.php | 5 ++++- routes/web.php | 4 ++++ 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/SearchController.php b/app/Http/Controllers/SearchController.php index 3152163..0a2ca4c 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 343af89..df1e78b 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 ae712be..eb504cb 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 d0d2b3a..b1b59c6 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'); -- GitLab