From 040c0271d7ff3ab332e1895d5a4970a6ada79f3e Mon Sep 17 00:00:00 2001 From: evlist Date: Thu, 5 Jan 2023 23:02:40 +0100 Subject: [PATCH] Trying to be more robust to find the name of a locality with nominatim... --- src/lib/osm.ts | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/lib/osm.ts b/src/lib/osm.ts index 43ee3d0..8f57f9a 100644 --- a/src/lib/osm.ts +++ b/src/lib/osm.ts @@ -26,11 +26,21 @@ export const findAddress = memoize(_findAddress, { }); export const getVillageOrTown = (address: any) => { - if (address?.address?.village) { - return address.address.village; + const citySynonyms = [ + 'village', + 'city', + 'town', + 'municipality', + 'hamlet', + 'suburb', + 'locality', + ]; + + for (let synonym of citySynonyms) { + console.log({ caller: 'getVillageOrTown', address, synonym }); + if (synonym in address?.address) { + return address?.address[synonym]; + } } - if (address?.address?.city) { - return address.address.city; - } - return address?.address?.town; + return address?.address?.country; };