From 92d58051616b3088691153c5016baa91f8ce7f5e Mon Sep 17 00:00:00 2001 From: nhirokinet Date: Sat, 16 Aug 2025 15:09:26 +0000 Subject: [PATCH] Make nominatim endpoint modifiable Most of API endpoints can be modified via leaflet_options.js, which is mentioned in README as a target of manual modify. But nominatim endpoint cannot be modified by this way. As nominatim can be self-hosted, I think it should be modifiable in configuration. --- scripts/replace.js | 6 +++++- src/index.js | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/replace.js b/scripts/replace.js index ae3ddcb0..a6da408e 100755 --- a/scripts/replace.js +++ b/scripts/replace.js @@ -6,11 +6,12 @@ const fs = require('fs') const path = require('path') // Define filepaths +const indexJsFile = path.join(__dirname, '..', 'src', 'index.js') const leafletOptions = path.join(__dirname, '..', 'src', 'leaflet_options.js') const debug = path.join(__dirname, '..', 'debug', 'index.html') // Read & Replace options -for (const filepath of [leafletOptions, debug]) { +for (const filepath of [indexJsFile, leafletOptions, debug]) { let options = fs.readFileSync(filepath, 'utf8') // Define Environment variables @@ -21,6 +22,7 @@ for (const filepath of [leafletOptions, debug]) { const LANGUAGE = process.env.OSRM_LANGUAGE || 'en' const DEFAULT_LAYER = process.env.OSRM_DEFAULT_LAYER || 'streets' const MAPBOX_TOKEN = process.env.OSRM_MAPBOX_TOKEN || 'pk.eyJ1IjoibXNsZWUiLCJhIjoiclpiTWV5SSJ9.P_h8r37vD8jpIH1A6i1VRg' + const NOMINATIM_ENDPOINT = process.env.NOMINATIM_ENDPOINT || 'https://nominatim.openstreetmap.org/' // Edit Leaflet Options if (BACKEND) options = options.replace(/http[s]?:\/\/router\.project-osrm\.org/, BACKEND) @@ -42,6 +44,8 @@ for (const filepath of [leafletOptions, debug]) { else options = options.replace('38.8995,-77.0269', latlng) } + if (NOMINATIM_ENDPOINT) options = options.replace('https://nominatim.openstreetmap.org/', NOMINATIM_ENDPOINT) + // Save Leaflet Options fs.writeFileSync(filepath, options) } diff --git a/src/index.js b/src/index.js index f25610ab..a4864627 100644 --- a/src/index.js +++ b/src/index.js @@ -93,7 +93,7 @@ function makeIcon(i, n) { } } var plan = new ReversablePlan([], { - geocoder: L.Control.Geocoder.nominatim(), + geocoder: L.Control.Geocoder.nominatim({serviceUrl: 'https://nominatim.openstreetmap.org/'}), routeWhileDragging: true, createMarker: function(i, wp, n) { var options = {