1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-30 10:36:35 +02:00
joplin/ReactNativeClient/lib/geolocation-node.js
Laurent Cozic 127dce1cd6 Fixed typo
2018-10-07 19:28:19 +01:00

30 lines
771 B
JavaScript

const { shim } = require('lib/shim.js');
const { netUtils } = require('lib/net-utils.js');
class GeolocationNode {
static async currentPosition(options = null) {
if (!options) options = {};
const ip = await netUtils.ip();
let response = await shim.fetch('http://ip-api.com/json/' + ip);
if (!response.ok) throw new Error('Could not get geolocation: ' + await response.text());
response = await response.json();
if (!('lat' in response) || !('lon' in response)) throw new Error('Invalid geolocation response: ' + (response ? JSON.stringify(response) : '<null>'));
return {
timestamp: (new Date()).getTime(),
coords: {
longitude: response.lon,
altitude: 0,
latitude: response.lat
}
}
}
}
module.exports = { GeolocationNode };