mirror of
https://github.com/laurent22/joplin.git
synced 2024-12-15 09:04:04 +02:00
28 lines
610 B
JavaScript
28 lines
610 B
JavaScript
|
import { shim } from 'lib/shim.js'
|
||
|
import { netUtils } from 'lib/net-utils.js';
|
||
|
|
||
|
class GeolocationNode {
|
||
|
|
||
|
static async currentPosition(options = null) {
|
||
|
if (!options) options = {};
|
||
|
|
||
|
const ip = await netUtils.ip();
|
||
|
|
||
|
let response = await shim.fetch('https://freegeoip.net/json/' + ip);
|
||
|
if (!response.ok) throw new Error('Could not get geolocation: ' + await response.text());
|
||
|
|
||
|
response = await response.json();
|
||
|
|
||
|
return {
|
||
|
timestamp: (new Date()).getTime(),
|
||
|
coords: {
|
||
|
longitude: response.longitude,
|
||
|
altitude: 0,
|
||
|
latitude: response.latitude
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
export { GeolocationNode };
|