X-Git-Url: https://git.openstreetmap.org./nominatim-ui.git/blobdiff_plain/65a67281bcf5f1258512b96136920aceb64a8b23..ee9ae6193aefe2a28522a71406cbb92614844f1e:/src/assets/js/detailpage.js diff --git a/src/assets/js/detailpage.js b/src/assets/js/detailpage.js index 9ef2d97..23447e9 100644 --- a/src/assets/js/detailpage.js +++ b/src/assets/js/detailpage.js @@ -4,20 +4,22 @@ function init_map_on_detail_page(lat, lon, geojson) { + var attribution = get_config_value('Map_Tile_Attribution') || null; map = new L.map('map', { // center: [nominatim_map_init.lat, nominatim_map_init.lon], // zoom: nominatim_map_init.zoom, - attributionControl: (get_config_value('Map_Tile_Attribution') && get_config_value('Map_Tile_Attribution').length), + attributionControl: (attribution && attribution.length), scrollWheelZoom: true, // !L.Browser.touch, - touchZoom: false, + touchZoom: false }); L.tileLayer(get_config_value('Map_Tile_URL'), { // moved to footer - attribution: (get_config_value('Map_Tile_Attribution') || null) // '© OpenStreetMap contributors' + // '© OpenStreetMap contributors' + attribution: attribution }).addTo(map); - var layerGroup = new L.layerGroup().addTo(map); + // var layerGroup = new L.layerGroup().addTo(map); var circle = L.circleMarker([lat, lon], { radius: 10, weight: 2, fillColor: '#ff7800', color: 'blue', opacity: 0.75 @@ -29,7 +31,7 @@ function init_map_on_detail_page(lat, lon, geojson) { // https://leafletjs.com/reference-1.0.3.html#path-option parse_and_normalize_geojson_string(geojson), { - style: function (feature) { + style: function () { return { interactive: false, color: 'blue' }; } } @@ -40,15 +42,21 @@ function init_map_on_detail_page(lat, lon, geojson) { map.setView([lat, lon], 10); } - var osm2 = new L.TileLayer(get_config_value('Map_Tile_URL'), { minZoom: 0, maxZoom: 13, attribution: (get_config_value('Map_Tile_Attribution') || null) }); - var miniMap = new L.Control.MiniMap(osm2, { toggleDisplay: true }).addTo(map); + var osm2 = new L.TileLayer( + get_config_value('Map_Tile_URL'), + { + minZoom: 0, + maxZoom: 13, + attribution: (get_config_value('Map_Tile_Attribution') || null) + } + ); + (new L.Control.MiniMap(osm2, { toggleDisplay: true })).addTo(map); } -jQuery(document).ready(function () { - if (!$('#details-page').length) { return; } +function details_page_load() { - var search_params = new URLSearchParams(location.search); + var search_params = new URLSearchParams(window.location.search); // var place_id = search_params.get('place_id'); var api_request_params = { @@ -57,7 +65,7 @@ jQuery(document).ready(function () { osmid: search_params.get('osmid'), keywords: search_params.get('keywords'), addressdetails: 1, - hierarchy: 1, + hierarchy: (search_params.get('hierarchy') === '1' ? 1 : 0), group_hierarchy: 1, polygon_geojson: 1, format: 'json' @@ -65,9 +73,14 @@ jQuery(document).ready(function () { if (api_request_params.place_id || (api_request_params.osmtype && api_request_params.osmid)) { fetch_from_api('details', api_request_params, function (aFeature) { - var context = { aPlace: aFeature }; + var context = { aPlace: aFeature, base_url: window.location.search }; render_template($('main'), 'detailspage-template', context); + if (api_request_params.place_id) { + update_html_title('Details for ' + api_request_params.place_id); + } else { + update_html_title('Details for ' + api_request_params.osmtype + api_request_params.osmid); + } update_data_date(); @@ -97,4 +110,4 @@ jQuery(document).ready(function () { alert('invalid input'); } }); -}); +}