Files
metacryst 637c9e4674 init
2026-01-09 11:14:27 -06:00

57 lines
1.9 KiB
JavaScript

'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var core = require('@capacitor/core');
var synapse = require('@capacitor/synapse');
const Geolocation$1 = core.registerPlugin('Geolocation', {
web: () => Promise.resolve().then(function () { return web; }).then((m) => new m.GeolocationWeb()),
});
synapse.exposeSynapse();
class GeolocationWeb extends core.WebPlugin {
async getCurrentPosition(options) {
return new Promise((resolve, reject) => {
navigator.geolocation.getCurrentPosition((pos) => {
resolve(pos);
}, (err) => {
reject(err);
}, Object.assign({ enableHighAccuracy: false, timeout: 10000, maximumAge: 0 }, options));
});
}
async watchPosition(options, callback) {
const id = navigator.geolocation.watchPosition((pos) => {
callback(pos);
}, (err) => {
callback(null, err);
}, Object.assign({ enableHighAccuracy: false, timeout: 10000, maximumAge: 0, minimumUpdateInterval: 5000 }, options));
return `${id}`;
}
async clearWatch(options) {
navigator.geolocation.clearWatch(parseInt(options.id, 10));
}
async checkPermissions() {
if (typeof navigator === 'undefined' || !navigator.permissions) {
throw this.unavailable('Permissions API not available in this browser');
}
const permission = await navigator.permissions.query({
name: 'geolocation',
});
return { location: permission.state, coarseLocation: permission.state };
}
async requestPermissions() {
throw this.unimplemented('Not implemented on web.');
}
}
const Geolocation = new GeolocationWeb();
var web = /*#__PURE__*/Object.freeze({
__proto__: null,
GeolocationWeb: GeolocationWeb,
Geolocation: Geolocation
});
exports.Geolocation = Geolocation$1;
//# sourceMappingURL=plugin.cjs.js.map