X-Git-Url: https://git.openstreetmap.org./nominatim-ui.git/blobdiff_plain/0224e5348603ae8927c61acca5f41620e9e66dd9..f46c0fdc50d5fac8a61f51aa3e6b4df8f5087f1f:/src/assets/js/searchpage.js diff --git a/src/assets/js/searchpage.js b/src/assets/js/searchpage.js index 391da96..8df5fe0 100755 --- a/src/assets/js/searchpage.js +++ b/src/assets/js/searchpage.js @@ -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(); - }); } });