node package manager

load-google-maps-api

load-google-maps-api npm Version Build Status

A thin, Promise-returning helper for loading the Google Maps JavaScript API.

Usage

const loadGoogleMapsAPI = require('load-google-maps-api')
 
loadGoogleMapsAPI().then(function(googleMaps) {
  console.log(googleMaps) //=> Object { Animation: Object, ... 
}).catch((err) => {
  console.error(err)
})

Read the source to understand how this works.

N.B. Just like the Google Maps API itself, this module is client-side only.

Why

Without this module, you would need to specify a named global callback, and pass said callback’s name as a parameter in the script tag’s src. For example:

<script>
window.googleMapsOnLoad = () => {
  // `google.maps` available here 
}
</script> 
<script async defer src="https://maps.googleapis.com/maps/api/js?callback=googleMapsOnLoad"></script>

This module abstracts this ceremony away, and fits better with Browserify or Webpack.

API

const loadGoogleMapsAPI = require('load-google-maps-api')

loadGoogleMapsAPI([options])

Returns a Promise. (See Usage.)

  • Fulfilled if load was successful. The fulfilled callback is passed the google.maps object.
  • Rejected if we weren’t able to load the Google Maps API after options.timeout.

options is an optional object literal:

Key Description Default
client Client ID undefined
key Your API key undefined
language Language undefined
libraries Supplemental libraries to load []
region Region undefined
timeout Time in milliseconds before rejecting the promise 10000
v API version undefined

Installation

Install via yarn:

$ yarn add load-google-maps-api

Or npm:

$ npm install --save load-google-maps-api

License

MIT