rs-location/modules/geocode.mjs

21 lines
492 B
JavaScript

export default class Geocoder {
constructor (remoteStorage) {
this.rs = remoteStorage;
}
async reverse (lat, lng) {
const q = `${lat}+${lng}&no_record=1&min_confidence=3`;
return this.geocode(q);
}
async geocode (q) {
const openCageKey = await this.rs.apiKeys.get('opencage').then(c => c.token);
const response = await fetch(
`https://api.opencagedata.com/geocode/v1/json?key=${openCageKey}&q=${q}&no_record=1`
);
return response.json();
}
}