node package manager


NPM version Dependency Status Build Status


Google Maps

Wrapper for asynchronously used Google Maps API in browser.

This module does not change original google maps api in any way. It just provide easy way to load and use this API asynchronously.


Environment with common js:

$ npm install google-maps

Download and import one of these files into your .html file:


var GoogleMapsLoader = require('google-maps'); // only for common js environments 
GoogleMapsLoader.load(function(google) {
    new google.maps.Map(el, options);

If you are not using environment with common js support, you can use GoogleMapsLoader variable directly. It is already in window object.


Own API key

GoogleMapsLoader.KEY = 'qwertyuiopasdfghjklzxcvbnm';

Business API client

GoogleMapsLoader.CLIENT = 'yourclientkey';
GoogleMapsLoader.VERSION = '3.14';


GoogleMapsLoader.LIBRARIES = ['geometry', 'places'];


GoogleMapsLoader.LANGUAGE = 'fr';


GoogleMapsLoader.REGION = 'GB';

Unload google api

For testing purposes is good to remove all google objects and restore loader to its original state.

GoogleMapsLoader.release(function() {
    console.log('No google maps api around');



GoogleMapsLoader.onLoad(function(google) {
    console.log('I just loaded google maps api');


$ npm test

Changelog list

  • 3.2.1

    • Typo in readme
  • 3.2.0

    • Removed support for SENSOR parameter #34
    • Add support for REGION parameter #36
    • Removed deprecated promises API #24
    • Fix some testing cases #23
    • Typo in readme #22
  • 3.1.0

    • Fix mock google maps loader
    • Add language parameter #17
    • Fix typos at readme #19
    • Fix for IE 8 #21
    • Rename repository to Js-GoogleMapsLoader #15
  • 3.0.0

    • Register to bower registry
    • Moved to Carrooi organization
    • Using mocked loader, so tests are much faster
    • Optimized building request url
    • Some variables and methods are now private and not accessible from outside
    • Updated dependencies
    • Whole package is written in javascript, not coffeescript
  • 2.1.1

    • Sh**.... Forgot to increase version at package.json
  • 2.1.0

    • Added support for libraries #3 (thanks popara)
    • Added tests
    • Small optimization
  • 2.0.0

    • Added Maps API for Business support
    • Added standalone version for non common js environments
    • Removed dependency on q package
    • Using callback instead of promise
    • Added tests + travis
    • Added status badges
  • 1.0.0

    • Initial version