Package Exports
- googlemaps
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (googlemaps) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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:
- Tests for everything (using vows)
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));
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:
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.