diff --git a/src/server/api_nominatim.ts b/src/server/api_nominatim.ts new file mode 100644 index 0000000..f264130 --- /dev/null +++ b/src/server/api_nominatim.ts @@ -0,0 +1,16 @@ + +export function nominatim_get_data(id: string, bb: string[][] | null = null): Promise { + if (!id) return Promise.resolve([]) + + const url = new URL("https://nominatim.openstreetmap.org/search"); + url.searchParams.append('format', 'jsonv2') + url.searchParams.append('q', id) + if (bb) { + url.searchParams.append('viewbox', `${bb[0][0]},${bb[0][1]},${bb[1][0]},${bb[1][1]}`) + url.searchParams.append('bounded', `1`) + } + return fetch(url).then((res) => { + if (!res.ok) throw new Error("Nominatim Error") + return res.json() + }) +}