load-google-maps-api-2
v1.0.2
Published
A thin, Promise-returning helper for loading the Google Maps JavaScript API.
Downloads
388
Maintainers
Readme
load-google-maps-api
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 toversion
.
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