1. @googlemaps/js-api-loader
Wrapper for the loading of Google Maps JavaScript API script in the browser
@googlemaps/js-api-loader
Package: @googlemaps/js-api-loader
Created by: googlemaps
Last modified: Fri, 16 Feb 2024 23:18:15 GMT
Version: 1.16.6
License: Apache-2.0
Downloads: 5,260,289
Repository: https://github.com/googlemaps/js-api-loader

Install

npm install @googlemaps/js-api-loader
yarn add @googlemaps/js-api-loader

Google Maps JavaScript API Loader

npm
Build
Release
codecov
GitHub contributors
semantic-release
Discord

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.

Install

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

 npm i @googlemaps/js-api-loader

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

 <script src="https://unpkg.com/@googlemaps/[email protected]/dist/index.min.js"></script>

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

TypeScript

TypeScript users need to install the following types package.

 npm i -D @types/google.maps

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 a specific library.

 // Promise for a specific library
loader
  .importLibrary('maps')
  .then(({Map}) => {
    new Map(document.getElementById("map"), mapOptions);
  })
  .catch((e) => {
    // do something
  });

Using a promise for when the script has loaded.

 // Promise
loader
  .load()
  .then((google) => {
    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.

RELATED POST

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin