Skip to content

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

License

Notifications You must be signed in to change notification settings

leonardxfce-dialpad/macos-location

This branch is up to date with Zootch-Organization/macos-location:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Apr 2, 2021
90a569d Â· Apr 2, 2021

History

32 Commits
Nov 21, 2019
Apr 2, 2021
Mar 2, 2018
Feb 25, 2018
Feb 25, 2018
Jul 17, 2020
Apr 2, 2021
Apr 2, 2021

Repository files navigation

macos-location

Sponsor Latest version on NPM registy Node.js version License

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

Released under the the MIT License.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C++ 64.6%
  • JavaScript 27.1%
  • Objective-C 4.9%
  • Python 3.4%