Google Maps API for Node.js with Multi Server Key
This library implements the following Google Maps APIs with mul, and can be also used by Google Maps for Work users.
This library is NOT COMPATIBLE with tags < 1.0.0
If you want to migrate from a version older than 1.0.0
check the WIKI for instructions.
Installation
npm install hm-googlemaps
What does it cover
- Directions
- Distance matrix
- Elevation - TO BE IMPROVED
- Geocoding and reverse geocoding
- Time zone - NOT IMPLEMENTED YET
Google Places API - NOT COMPLETED
- Static maps
- Street view - TO BE IMPROVED
Usage
var publicConfig = keys:key:"google-server-key"limit:10000key:"google-server-key2"limit:2500 stagger_time: 1000 // for elevationPath encode_polylines: false secure: true // use https proxy: 'http://127.0.0.1:9999' // optional, set a proxy for HTTP requests;var gmAPI = publicConfig; // or in case you are using Google Maps for Workvar enterpriseConfig = google_client_id: '<YOUR-CLIENT-ID>' // to use Google Maps for Work google_private_key: '<YOUR-PRIVATE-KEY>' // to use Google Maps for Work stagger_time: 1000 // for elevationPath encode_polylines: false secure: true // use https proxy: 'http://127.0.0.1:9999' // optional, set a proxy for HTTP requests;var gmAPI = enterpriseConfig; // geocode APIvar geocodeParams = "address": "121, Curtain Road, EC2A 3AD, London UK" "components": "components=country:GB" "bounds": "55,-1|54,1" "language": "en" "region": "uk"; gmAPI; // reverse geocode APIvar reverseGeocodeParams = "latlng": "51.1245,-0.0523" "result_type": "postal_code" "language": "en" "location_type": "APPROXIMATE"; gmAPI;
Check out the unit tests for more APIs examples.
Static Maps
var gmAPI = ;var params = center: '444 W Main St Lock Haven PA' zoom: 15 size: '500x400' maptype: 'roadmap' markers: location: '300 W Main St Lock Haven, PA' label : 'A' color : 'green' shadow : true location: '444 W Main St Lock Haven, PA' icon: 'http://chart.apis.google.com/chart?chst=d_map_pin_icon&chld=cafe%7C996600' style: feature: 'road' element: 'all' rules: hue: '0x00ff00' path: color: '0x0000ff' weight: '5' points: '41.139817,-77.454439' '41.138621,-77.451596' ;gmAPI; // return static map URLgmAPI;
This example prints the URL for the Static Map image: "https://maps.googleapis.com/maps/api/staticmap?center=444%20W%20Main%20St%20Lock%20Haven%20PA&zoom=15&size=500x400&maptype=roadmap&markers=color%3Agreen%7Clabel%3AA%7Cshadow%3Atrue%7C300%20W%20Main%20St%20Lock%20Haven%2C%20PA&markers=icon%3Ahttp%3A%2F%2Fchart.apis.google.com%2Fchart%3Fchst%3Dd_map_pin_icon%26chld%3Dcafe%257C996600%7C444%20W%20Main%20St%20Lock%20Haven%2C%20PA&path=weight%3A5%7Ccolor%3A0x0000ff%7Cenc%3A%7BbbzFfyvwMnFwP&style=feature%3Aroad%7Celement%3Aall%7Chue%3A0x00ff00"
By giving gm.staticMap an optional callback, you can retreive the static map PNG data:
You will get a map like:
Street view
var gmAPI = ;var params = location: '51.507868,-0.087689' size: '1200x1600' heading: 1084 pitch: 7 fov: 40;var result = gmAPI;
Further examples
Please refer to the code, tests and the Google Maps API docs for further usage information.
Contributions
Criticism/Suggestions/Patches/PullRequests are welcome.
Original contributors list
v1.0.0 maintener
Contributions and new issues are welcome!