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 🙏

© 2026 – Pkg Stats / Ryan Hefner

chenroth-googlemaps

v0.1.22

Published

This is a FORKED revision of moshen's node-googlemaps module

Downloads

12

Readme

Build Status

Google Maps API for Node.js

A simple way to query the Google Maps API from Node.js

This has become a fairly complete api. Criticism/Suggestions/Patches/PullReq's welcome.

Installation

Installing npm (node package manager)

curl https://npmjs.org/install.sh | sh

Installing googlemaps

npm install googlemaps

Status

APIs implemented:

TODO:

Usage

var gm = require('googlemaps');
var util = require('util');

gm.reverseGeocode('41.850033,-87.6500523', function(err, data){
  util.puts(JSON.stringify(data));
});

gm.reverseGeocode(gm.checkAndConvertPoint([41.850033, -87.6500523]), function(err, data){
  util.puts(JSON.stringify(data));
});

Both examples print: {"status":"OK","results":[{"types":["postal_code"],"formatted_address":"Chicago, IL 60695, USA"...

For the Static Maps API, you can pass in all the required parameters as well as markers, styles, and paths using the formats outlined below.

markers = [
	{ 'location': '300 W Main St Lock Haven, PA' },
	{ 'location': '444 W Main St Lock Haven, PA',
		'color': 'red',
		'label': 'A',
		'shadow': 'false',
		'icon' : 'http://chart.apis.google.com/chart?chst=d_map_pin_icon&chld=cafe%7C996600'
	}
]

styles = [
	{ 'feature': 'road', 'element': 'all', 'rules': 
		{ 'hue': '0x00ff00' }
	}
]

paths = [
	{ 'color': '0x0000ff', 'weight': '5', 'points': 
		[ '41.139817,-77.454439', '41.138621,-77.451596' ]
	}
]

util.puts(gm.staticMap('444 W Main St Lock Haven PA', 15, '500x400', false, false, 'roadmap', markers, styles, paths));

This example prints the URL for the Static Map image: "http://maps.googleapis.com/maps/api/staticmap?center=444%20W%20Main%20St%20Lock%20Haven%20PA&zoom=15&size=500x400&maptype=roadmap&markers=%7C300%20W%20Main%20St%20Lock%20Haven%2C%20PA&markers=%7Ccolor%3Ared%7Clabel%3AA%7Cicon%3Ahttp%3A%2F%2Fchart.apis.google.com%2Fchart%3Fchst%3Dd_map_pin_icon%26chld%3Dcafe%257C996600%7Cshadow%3Afalse%7C444%20W%20Main%20St%20Lock%20Haven%2C%20PA&style=%7Cfeature%3Aroad%7Celement%3Aall%7Chue%3A0x00ff00&path=weight%3A5%7Ccolor%3A0x0000ff%7C41.139817%2C-77.454439%7C41.138621%2C-77.451596&sensor=false"

By giving gm.staticMap an optional callback, you can retreive the static map PNG data:

util.puts(gm.staticMap('444 W Main St Lock Haven PA', 15, '500x400', function(err, data){
  require('fs').writeFileSync('test_map.png', data, 'binary');
}, false, 'roadmap', markers, styles, paths));

You will get a map like:

Some Map

Configuration

To set the configuration you call gm.config(key, value) or gm.config({key: value, .....})

Useful Configuration Options

proxy - set a proxy for http requests

stagger-time - defaults to 200ms - stagger async call times when multiple requests are required

encode-polylines - defaults to true - encodes polylines to the shorter Google format.

google-client-id - used for setting business specific parameters

google-private-key- used for setting business specific parameters


All the googlemaps functions follow this scheme: function(required, callback, optional)

All callbacks are expected to follow: function(error, results) Where the error returned is an Error object.

Please refer to the code, tests and the Google Maps API docs for further usage information.

Contributors

evnm duncanm sugendran JoshSmith grobot regality spatical