nishanthan1989 / js-api-loader

Load the Google Maps JavaScript API script dynamically.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Google Maps JavaScript API Loader

npm Build Release codecov GitHub contributors semantic-release

Description

Load the Google Maps JavaScript API script dynamically. This takes inspiration from the google-maps npm package but updates it with ES6, Promises, and TypeScript.

A previous version of the package was available at @googlemaps/loader but was renamed to the package @googlemaps/js-api-loader here.

Install

Available via npm as the package @googlemaps/js-api-loader.

npm i @googlemaps/js-api-loader

or

yarn add @googlemaps/js-api-loader

Alternativly you may add the umd package directly to the html document using the unpkg link.

<script src="https://unpkg.com/@googlemaps/js-api-loader@1.0.0/dist/index.min.js"></script>

When adding via unpkg, the loader can be accessed at google.maps.plugins.loader.Loader.

Documentation

The reference documentation can be found at this link. The Google Maps JavaScript API documentation is the authoritative source for the loader options.

Example

import { Loader } from '@googlemaps/js-api-loader';

const loader = new Loader({
  apiKey: "",
  version: "weekly",
  libraries: ["places"]
});

const mapOptions = {
  center: {
    lat: 0,
    lng: 0
  },
  zoom: 4
};

Using a promise for when the script has loaded.

// Promise
loader
  .load()
  .then(() => {
    new google.maps.Map(document.getElementById("map"), mapOptions);
  })
  .catch(e => {
    // do something
  });

Alternatively, if you want to use a callback.

// Callback
loader.loadCallback(e => {
  if (e) {
    console.log(e);
  } else {
    new google.maps.Map(document.getElementById("map"), mapOptions);
  }
});

View the package in action here.

Support

This library is community supported. We're comfortable enough with the stability and features of the library that we want you to build real production applications on it.

If you find a bug, or have a feature suggestion, please log an issue. If you'd like to contribute, please read How to Contribute.

About

Load the Google Maps JavaScript API script dynamically.

License:Apache License 2.0


Languages

Language:TypeScript 77.1%Language:JavaScript 18.1%Language:HTML 4.8%