Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leny/jeolok
Improved navigator.geolocation, with better callbacks and new stuffs.
https://github.com/leny/jeolok
Last synced: 2 days ago
JSON representation
Improved navigator.geolocation, with better callbacks and new stuffs.
- Host: GitHub
- URL: https://github.com/leny/jeolok
- Owner: leny
- License: mit
- Created: 2014-08-07T19:34:07.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2019-10-22T18:51:31.000Z (over 5 years ago)
- Last Synced: 2025-01-29T09:04:53.097Z (23 days ago)
- Language: CoffeeScript
- Size: 10.7 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-MIT
Awesome Lists containing this project
README
# jeolok
  [](http://badge.fury.io/bo/jeolok) [](http://unmaintained.tech/)
> Improved navigator.geolocation, with better callbacks and new stuffs.
* * *
**jeolok** is a simple wrapper over navigator.geolocation, with better callback support, so you can use it with tools like *async*.
## Getting Started
From now, **jeolok** is only usable in the browser (since it uses `navigator.geolocation` as interface).
**jeolok** use the [umd](https://github.com/umdjs/umd) implementation to be usable with whatever tool you use (browserify, vanilla, etc...).
You can install **jeolok** using *npm* or *bower*, or downloading the library from the [lib](https://github.com/leny/jeolok/tree/master/lib) folder.
## Documentation
Regardless of how you will include **jeolok** in your code, you will obtain a `jeolok` object, which has the following methods & properties.
### `getCurrentPosition( [ options [, [ callback ]] )`
Calls `navigator.geolocation.getCurrentPosition()`, with the given (and optional) [options](https://developer.mozilla.org/en-US/docs/Web/API/PositionOptions), and execute the callback when it's done.
The callback will get two arguments : the first is an `error`, which be `null` if everythings is alright, and the second is the [`position` object](https://developer.mozilla.org/en-US/docs/Web/API/Position).
The `position` object has an extra parameter : `date`, which his a `Date` object of the position's `timestamp`.#### Example
```javascript
jeolok.getCurrentPosition( { enableHighAccuracy: true }, function( error, position ) {
if( error ) {
return console.error( "Shit happens!", error );
}
console.log( "Now i can work with my position:", position );
} );```
### `get( [ options [, [ callback ]] )`
Alias of `getCurrentPosition`.
### `watchPosition( [ options [, [ callback ]] )`
Calls `navigator.geolocation.watchPosition()`, with the given (and optional) [options](https://developer.mozilla.org/en-US/docs/Web/API/PositionOptions), and execute the callback everytime it's has new information about position.
The callback will get two arguments : the first is an `error`, which be `null` if everythings is alright, and the second is the [`position` object](https://developer.mozilla.org/en-US/docs/Web/API/Position).
The `position` object has an extra parameter : `date`, which his a `Date` object of the position's `timestamp`.Returns the watch's id, which it usefull to clear it (see below).
#### Example
```javascript
var watchID = jeolok.watchPosition( { enableHighAccuracy: true }, function( error, position ) {
if( error ) {
return console.error( "Shit happens!", error );
}
console.log( "I must have moved since the last time, i think:", position );
} );```
### `watch( [ options [, [ callback ]] )`
Alias of `watchPosition`.
### `clearWatch( watchID )`
Calls `navigator.geolocation.clearWatch()`, with the given id, to stop watching for location changes.
#### Example
```javascript
jeolok.clearWatch( watchID );
```
### `position`
**jeolok** keeps the last `position` object in its memory.
#### Example
```javascript
console.log( "Hey, I got a latitude: ", jeolok.position.coords.latitude );
```
## Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Lint your code using [Grunt](http://gruntjs.com/).
## Release History
* **0.1.0**: Initial release (*07/08/14*)
## License
Copyright (c) 2014 leny
Licensed under the MIT license.