]> git.openstreetmap.org Git - nominatim-ui.git/blobdiff - src/assets/js/detailpage.js
/reverse.html should be reverse.html to app works in subdirectory
[nominatim-ui.git] / src / assets / js / detailpage.js
index 9ef2d97d63e0e4752680b80a3ad0f10f5c50c0fd..3a951877a6dee35787795532a400262f6146fad6 100644 (file)
@@ -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) // '&copy; <a href="https://osm.org/copyright">OpenStreetMap</a> contributors'
+    // '&copy; <a href="https://osm.org/copyright">OpenStreetMap</a> 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,24 +42,31 @@ 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 = {
     place_id: search_params.get('place_id'),
     osmtype: search_params.get('osmtype'),
     osmid: search_params.get('osmid'),
+    class: search_params.get('class'),
     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 +74,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 +111,4 @@ jQuery(document).ready(function () {
       alert('invalid input');
     }
   });
-});
+}