load-google-maps-api

:earth_asia: A lightweight Promise-returning helper for loading the Google Maps JavaScript API

Github星跟踪图

load-google-maps-api npm Version Build Status Bundle Size

A lightweight Promise-returning helper for loading the Google Maps JavaScript API

  • The Promise’s fulfilled callback is passed the google.maps object
  • Optionally set a timeout, an API key, the language, and more

Usage

Editable demo (CodePen)

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

loadGoogleMapsApi().then(function (googleMaps) {
  new googleMaps.Map(document.querySelector('.map'), {
    center: {
      lat: 40.7484405,
      lng: -73.9944191
    },
    zoom: 12
  })
}).catch(function (error) {
  console.error(error)
})

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

Motivation

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 () {
  // `window.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 modern bundlers like Browserify or Webpack.

API

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

loadGoogleMapsApi([options])

Returns a Promise.

  • Fulfilled if loading was successful. The fulfilled callback is passed the google.maps object. If loadGoogleMapsApi is called multiple times on a page, the fulfilled callback will be passed the previously-loaded google.maps object.
  • Rejected if we weren’t able to load the Google Maps API after options.timeout.

See Usage.

options is an optional object literal:

Key, Description, Default
:--, :--, :--
apiUrl, The Google Maps API script tag URL, 'https://maps.googleapis.com/maps/api/js'
channel, Client usage reporting channel, undefined
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

$ yarn add load-google-maps-api

License

MIT

主要指标

概览
名称与所有者yuanqing/load-google-maps-api
主编程语言JavaScript
编程语言JavaScript (语言数: 1)
平台
许可证MIT License
所有者活动
创建于2016-01-01 05:00:25
推送于2021-03-17 14:09:59
最后一次提交
发布数16
最新版本名称v2.0.2 (发布于 2020-03-07 16:50:30)
第一版名称v0.0.1 (发布于 )
用户参与
星数173
关注者数2
派生数22
提交数82
已启用问题?
问题数15
打开的问题数1
拉请求数3
打开的拉请求数2
关闭的拉请求数7
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?