]> git.openstreetmap.org Git - nominatim-ui.git/blobdiff - src/lib/helpers.js
prepare v3.5.0 release
[nominatim-ui.git] / src / lib / helpers.js
index dfe4cedc760229c65a068030287539d442eb9aeb..0099d83779e04623607dc1f10a1ff305c7dac234 100644 (file)
@@ -13,6 +13,15 @@ export function formatOSMType(sType, bExcludeExternal) {
   return '';
 }
 
   return '';
 }
 
+// https://www.openstreetmap.org/relation/123 => ['R', 123]
+// w123 => ['W', 123]
+export function identifyLinkInQuery(query) {
+  if (!query) return undefined;
+  const m = query.match(/\/(relation|way|node)\/(-?\d+)/) || query.match(/^([nwr])(-?\d+)$/i);
+  if (!m) return undefined;
+  return [m[1][0].toUpperCase(), Number(m[2])];
+}
+
 export function osmLink(aPlace) {
   if (!aPlace.osm_type) return '';
   var sOSMType = formatOSMType(aPlace.osm_type, false);
 export function osmLink(aPlace) {
   if (!aPlace.osm_type) return '';
   var sOSMType = formatOSMType(aPlace.osm_type, false);
@@ -127,16 +136,13 @@ export function zoomLevels() {
     /*  9 */ '',
     /* 10 */ 'City',
     /* 11 */ '',
     /*  9 */ '',
     /* 10 */ 'City',
     /* 11 */ '',
-    /* 12 */ 'Town / Village',
-    /* 13 */ '',
-    /* 14 */ 'Suburb',
-    /* 15 */ '',
-    /* 16 */ 'Street',
-    /* 17 */ '',
-    /* 18 */ 'Building',
-    /* 19 */ '',
-    /* 20 */ '',
-    /* 21 */ ''
+    /* 12 */ 'Town / Borough',
+    /* 13 */ 'Village / Suburb',
+    /* 14 */ 'Neighbourhood',
+    /* 15 */ 'Locality',
+    /* 16 */ 'Major Street',
+    /* 17 */ 'Minor Street',
+    /* 18 */ 'Building'
   ];
   return aZoomLevels;
 }
   ];
   return aZoomLevels;
 }