import {returnOnError} from "../utilities/reporterror.js" import axios from 'axios' import {logit} from "../utilities/logit.js" import {getOneProperty} from "./getproperties.js" import { response } from "express" const NOMINATIM_URL = `https://nominatim.openstreetmap.org/reverse?lat=${'xx'}&lon=${'yy'}&format=json` const NOMINATIM_CITY_URL = `https://nominatim.openstreetmap.org/?q="${'xx'}"&format=json` export const getCityCoords = async (params) => { let ret = {coords: [], city: params.city, err: null} let url = NOMINATIM_CITY_URL.replace('xx', params.city) // let url = 'https://nominatim.openstreetmap.org/?q="K%C3%B6ln"&format=json' try { const response = await axios(url) if (response.status !== 200) { return returnOnError(ret, 'RESPSTATUS', getCityCoord.name, response.status) } ret.coords = [response.data[0].lat,response.data[0].lon] logit(JSON.stringify(ret.coords)) } catch (e) { return returnOnError(ret, e, getCityCoords.name) } return ret } export const getAddress = async (params) => { let ret = {address: "", err: null} let {props, err} = await getOneProperty(params) if (err) { return returnOnError(ret, err, getAddress.name) } let coord = props.location[0].loc.coordinates let url = NOMINATIM_URL.replace('xx', coord[1]).replace('yy', coord[0]) try { const response = await axios(encodeURI(url),{ headers: { 'User-Agent': 'Firefox 132.0.1' } }); if (response.status !== 200) { return returnOnError(ret, 'RESPSTATUS', getAddress.name, response.status) } let akt = response.data.address // logit(JSON.stringify(akt)) const CITY = ['city', 'town', 'village', 'suburb', 'county'] let city = "unknown" for (let c of CITY) { if(akt[c] !== undefined) { city = akt[c] break } } // ret.address = `${(akt.road ? akt.road : "")} ${(akt.postcode ? akt.postcode : "")} ${city}`; ret.address = { street: `${(akt.road ? akt.road : "")}`, plz: `${(akt.postcode ? akt.postcode : "")}`, city: `${city}`} } catch (e) { return returnOnError(ret, e, getAddress.name) } return ret } /* let addr = "Addr"; try { let ret = await $.get("api/getprops?sensorid=" + marker.options.name); if(ret.values[0].address.city == null) { addr += " unbekannt !" } else { let akt = ret.values[0].address; addr = (akt.street ? akt.street : "") + "  " + (akt.plz ? akt.plz : "") + " " + akt.city; } } catch (e) { console.log("onMarker - getpops", e) } console.log("addr:", addr); return addr; */