load-google-maps-api-2

1.0.2 • Public • Published

load-google-maps-api

npm

This is a fork of https://github.com/yuanqing/load-google-maps-api, following changes were made:

  • Removed ES6 features, so no Babel is needed.
  • Added support for CommonJS, AMD and browser (as window.loadGoogleMapsApi).
  • Added check whether API is already loaded. (Google API writes warnings into console when they are loaded multiple times.)
  • Added support for setting options globally.
  • Parameter v renamed to version.

Consider to use some Promise polyfill with this plugin, like https://github.com/taylorhakes/promise-polyfill.

Original documentation with some minor changes follows.

About

A thin, Promise-returning helper for loading the Google Maps JavaScript API. Works only in browser.

Usage

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

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 = function () {
  // `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

var loadGoogleMapsApi = require('load-google-maps-api-2');

loadGoogleMapsApi([opts])

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 opts.timeout.

opts 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 []
timeout Time in milliseconds before rejecting the promise 10000
version API version undefined

Setting global options

Default parameters can be set globally for a whole application. For example:

var loadGoogleMapsApi = require('load-google-maps-api-2');
 
loadGoogleMapsApi.key = 'xxxxxxxxxxxx';
loadGoogleMapsApi.language = 'cs';

Installation

Install via npm:

$ npm i --save load-google-maps-api-2

License

MIT

Package Sidebar

Install

npm i load-google-maps-api-2

Weekly Downloads

90

Version

1.0.2

License

MIT

Last publish

Collaborators

  • mjiricka