]> git.openstreetmap.org Git - nominatim-ui.git/blobdiff - src/assets/js/searchpage.js
detailpage to use geojson instead of asgeojson value
[nominatim-ui.git] / src / assets / js / searchpage.js
index 391da96da3df9552fe9e14adb678e8e531d8c9f8..8df5fe09ef9bf367a61ab607c27ad7137bb0ddeb 100755 (executable)
@@ -153,15 +153,15 @@ function init_map_on_search_page(is_reverse_search, nominatim_results, request_l
             });
             layerGroup.addLayer(circle);            
         }
-        if (result.aBoundingBox){
+        if (result.boundingbox){
 
-            var bounds = [[result.aBoundingBox[0]*1,result.aBoundingBox[2]*1], [result.aBoundingBox[1]*1,result.aBoundingBox[3]*1]];
+            var bounds = [[result.boundingbox[0]*1,result.boundingbox[2]*1], [result.boundingbox[1]*1,result.boundingbox[3]*1]];
             map.fitBounds(bounds);
 
-            if (result.asgeojson && result.asgeojson.match(/(Polygon)|(Line)/) ){
+            if (result.geojson && result.geojson.type.match(/(Polygon)|(Line)/) ){
 
                 var geojson_layer = L.geoJson(
-                    parse_and_normalize_geojson_string(result.asgeojson),
+                    parse_and_normalize_geojson_string(result.geojson),
                     {
                         // http://leafletjs.com/reference-1.0.3.html#path-option
                         style: function(feature) {
@@ -248,7 +248,6 @@ jQuery(document).ready(function(){
 
     var search_params = new URLSearchParams(location.search);
 
-
     // return view('search', [
     //     'sQuery' => $sQuery,
     //     'bAsText' => '',
@@ -262,57 +261,81 @@ jQuery(document).ready(function(){
 
     if (is_reverse_search) {
         var api_request_params = {
-            lat: typeof(search_params.get('lat') !== 'undefined') ? search_params.get('lat') : get_config_value('Map_Default_Lat'),
-            lon: typeof(search_params.get('lon') !== 'undefined') ? search_params.get('lon') : get_config_value('Map_Default_Lon'),
+            // lat: typeof(search_params.get('lat') !== 'undefined') ? search_params.get('lat') : get_config_value('Map_Default_Lat'),
+            // lon: typeof(search_params.get('lon') !== 'undefined') ? search_params.get('lon') : get_config_value('Map_Default_Lon'),
+            lat: search_params.get('lat'),
+            lon: search_params.get('lon'),
             zoom: (search_params.get('zoom') !== '' ? search_params.get('zoom') : get_config_value('Map_Default_Zoom')),
             format: 'jsonv2'
         }
 
-        fetch_from_api('reverse', api_request_params, function(aPlace){
+        var context = {
+            // aPlace: aPlace,
+            fLat: api_request_params.lat,
+            fLon: api_request_params.lon,
+            iZoom: (search_params.get('zoom') !== '' ? api_request_params.zoom : undefined)
+        };
 
-            if (aPlace.error) {
-                aPlace = null;
-            }
 
-            var context = {
-                aPlace: aPlace,
-                fLat: api_request_params.lat,
-                fLon: api_request_params.lon,
-                iZoom: (search_params.get('zoom') !== '' ? api_request_params.zoom : undefined)
-            };
+        if (api_request_params.lat && api_request_params.lon) {
+
+            fetch_from_api('reverse', api_request_params, function(aPlace){
+
+                if (aPlace.error) {
+                    aPlace = null;
+                }
 
+                context.aPlace = aPlace;
+
+                render_template($('main'), 'reversepage-template', context);
+
+                init_map_on_search_page(is_reverse_search, [aPlace], api_request_params.lat, api_request_params.lon, api_request_params.zoom);
+
+                update_data_date();
+            });
+        } else {
             render_template($('main'), 'reversepage-template', context);
 
-            init_map_on_search_page(is_reverse_search, [aPlace], api_request_params.lat, api_request_params.lon, api_request_params.zoom);
+            init_map_on_search_page(is_reverse_search, [], get_config_value('Map_Default_Lat'), get_config_value('Map_Default_Lon'), get_config_value('Map_Default_Zoom'));
+        }
 
-            update_data_date();
-        });
     } else {
         var api_request_params = {
             q: search_params.get('q'),
             polygon_geojson: search_params.get('polygon_geojson') ? 1 : 0,
-            polygon: search_params.get('polygon'),
+            viewbox: search_params.get('viewbox'),
             format: 'jsonv2'
         };
 
-        fetch_from_api('search', api_request_params, function(aResults){
+        var context = {
+            // aSearchResults: aResults,
+            sQuery: api_request_params.q,
+            sViewBox: '',
+            env: Nominatim_Config,
+            sMoreURL: ''
+        };
+
+        if (api_request_params.q) {
+
+            fetch_from_api('search', api_request_params, function(aResults){
+
+                context.aSearchResults = aResults;
 
-            var context = {
-                aSearchResults: aResults,
-                sQuery: api_request_params.q,
-                sViewBox: '',
-                env: Nominatim_Config,
-                sMoreURL: ''
-            };
+                render_template($('main'), 'searchpage-template', context);
 
+                init_map_on_search_page(is_reverse_search, aResults, get_config_value('Map_Default_Lat'), get_config_value('Map_Default_Lon'), get_config_value('Map_Default_Zoom'));
+
+                $('#q').focus();
+
+                update_data_date();
+            });
+        } else {
             render_template($('main'), 'searchpage-template', context);
 
-            init_map_on_search_page(is_reverse_search, aResults);
+            init_map_on_search_page(is_reverse_search, [], get_config_value('Map_Default_Lat'), get_config_value('Map_Default_Lon'), get_config_value('Map_Default_Zoom'));
+        }
 
-            $('#q').focus();
 
-            update_data_date();
-        });
     }
 });