npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

geo-location

v0.0.4

Published

A CanJS component that produces live-bindable geolocation data.

Downloads

25

Readme

geo-location

A CanJS component that produces live-bindable geolocation data.

npm version

NPM

Installation

npm install geo-location --save

Usage

Using CanJS's built-in support for StealJS, you can now import the module directly inside your templates:

<can-import from="geo-location"/>

<!-- Retrieve the current location once. -->
<geo-location {^current-location}="currentLocation"></geo-location>

<!-- Continuously retrieve the current location. -->
<geo-location {^current-location}="currentLocation" watch></geo-location>

<!-- Get a live-updating list of locations. -->
<geo-location {^current-location}="currentLocation" watch
  {^locations}="locations">
</geo-location>

Readable Attributes

  • current-location - required - Gets the current location. If the watch attribute is true it will do so continuously and push the location data into the locations list as it arrives.
  • watch - a boolean value that, if enabled, causes the currentLocation attribute to continuously return location data. If set to false, it will cancel the current watch. Watch can be bound to an attribute in a parent component to dynamically enable/disable the geolocation feed:
<geo-location {^current-location}="location"
  {^watch}="isWatchEnabled">
</geo-location>
  • locations - A live-bindable list of all location objects in the order they arrived.
  • high-accuracy - Set to true to enable high accuracy mode. It indicates that the application would like to receive the best possible results. If true and if the device is able to provide a more accurate position, it will do so. Note that this can result in slower response times or increased power consumption (with a GPS chip on a mobile device for example). On the other hand, if false, the device can take the liberty to save resources by responding more quickly and/or using less power. Default: false. See https://developer.mozilla.org/en-US/docs/Web/API/PositionOptions/enableHighAccuracy
  • timeout - A positive number representing the maximum length of time (in milliseconds) the device is allowed to take in order to return a position. The default value is Infinity, meaning that getCurrentPosition() won't return until the position is available. See https://developer.mozilla.org/en-US/docs/Web/API/PositionOptions/timeout
  • maximum-age - A positive number indicating the maximum age in milliseconds of a possible cached position that is acceptable to return. If set to 0, it means that the device cannot use a cached position and must attempt to retrieve the real current position. If set to Infinity the device must return a cached position regardless of its age. Default: 0. See https://developer.mozilla.org/en-US/docs/Web/API/PositionOptions/maximumAge

Functions

  • startWatch - This is a convenience function to enable watching from the template.
<a href="javascript://" {($click)}="startWatch">Start tracking your position</a>
  • stopWatch - This is a convenience function to disable watching from the template.
<a href="javascript://" {($click)}="stopWatch">Stop tracking your position</a>

Contributing

Pull requests are welcome. Analyze the code. See where it needs improvement, and let me know. Please, help make it better!

Authors

Built with StealJS