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(); } }