21 lines
492 B
JavaScript
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();
|
|
}
|
|
|
|
}
|