macos-location
TypeScript icon, indicating that this package has built-in type declarations

1.3.1 • Public • Published

macos-location Latest version on NPM registy

Node.js version License Donate

Wrapper around macOS Core Location services. Can serve as a drop-in replacement for HTML5 Geolocation API in Electron applications.

Note: This module is intended for Electron applications targeted at macOS.

Installation

npm install macos-location --save

or

yarn add macos-location

Usage

This module exports a single getCurrentPosition method that has exactly the same signature as navigator.geolocation.getCurrentPosition.

If you were using HTML5 Geolocation API to retrieve user's location you can simply replace calls to navigator's getCurrentPosition method with this module.

const { getCurrentPosition } = require('macos-location');
 
function successCallback(position) {
  console.log('Your current position is:');
  console.log(`Latitude : ${position.coords.latitude}`);
  console.log(`Longitude: ${position.coords.longitude}`);
  console.log(`More or less ${position.coords.accuracy} meters.`);
};
 
function errorCallback(err) {
  console.warn(`ERROR(${err.code}): ${err.message}`);
};
 
// https://developer.mozilla.org/en-US/docs/Web/API/PositionOptions
const options = {
  maximumAge: 60000,
};
 
getCurrentPosition(successCallback, errorCallback, options);

If you don't like callbacks, you can wrap the location request in a Promise.

const { getCurrentPosition } = require('macos-location');
 
const p = new Promise((resolve, reject) => {
  getCurrentPosition(resolve, reject);
});

License

Copyright © 2018 Jakub Synowiec

Licensed under the the MIT License.

Package Sidebar

Install

npm i macos-location

Weekly Downloads

2

Version

1.3.1

License

MIT

Unpacked Size

14.6 kB

Total Files

10

Last publish

Collaborators

  • jsynowiec