]> git.openstreetmap.org Git - nominatim-ui.git/commitdiff
reverse search: better initial zoom (#63)
authormtmail <mtmail@gmx.net>
Wed, 10 Feb 2021 18:43:15 +0000 (19:43 +0100)
committerGitHub <noreply@github.com>
Wed, 10 Feb 2021 18:43:15 +0000 (19:43 +0100)
src/components/Map.svelte
src/components/ResultsList.svelte
src/pages/ReversePage.svelte

index e9c4ceff1a898fc49c15c159ed562af03989d5b5..d77b81ddb17983bad5c39f63fb513d8ccbd55ec7 100644 (file)
@@ -96,7 +96,7 @@
     resetMapData();
 
     if (position_marker) {
-      // We don't need a marker, but an L.circle instance changes radius once you zoom in/out
+      // We don't need a marker, but L.circle would change radius when you zoom in/out
       let cm = L.circleMarker(
         position_marker,
         {
       }).addTo(map);
     }
 
-    // nothing to do
-    if (!aFeature) { return; }
+    if (!aFeature) return;
 
     let lat = aFeature.centroid ? aFeature.centroid.coordinates[1] : aFeature.lat;
     let lon = aFeature.centroid ? aFeature.centroid.coordinates[0] : aFeature.lon;
 
     if (geojson) {
       var geojson_layer = L.geoJson(
-        // https://leafletjs.com/reference-1.0.3.html#path-option
+        // https://leafletjs.com/reference-1.7.1.html#path-option
         parse_and_normalize_geojson_string(geojson),
         {
           style: function () {
       map.addLayer(geojson_layer);
       dataLayers.push(geojson_layer);
       map.fitBounds(geojson_layer.getBounds());
+    } else if (lat && lon && position_marker) {
+      map.fitBounds([[lat, lon], position_marker], { padding: [50, 50] });
     } else if (lat && lon) {
       map.setView([lat, lon], 10);
-    } else {
-      map.fitWorld();
     }
   }
 
index 8c68bb3d179dac69c4a769dbdfd5fe13e617e511..668f33070458a988f5165163e3c767b1b3acb1e0 100644 (file)
@@ -6,7 +6,7 @@
   import MapIcon from './MapIcon.svelte';
 
   export let reverse_search = false;
-  export let current_result = {};
+  export let current_result = null;
 
   let aSearchResults;
   let iHighlightNum;
index e72a118e88ed93e9e4d51afdc8e783694d942daa..3f49c0a1a03de246ec7924724c7b244075ae3134 100644 (file)
@@ -11,7 +11,7 @@
 
   let api_request_params;
   let current_result;
-  let position_marker;
+  let position_marker; // what the user searched for
 
   function loaddata() {
     let search_params = new URLSearchParams(window.location.search);