React leaflet wrapper of leaflet.gridlayer.googlemutant

Usage no npm install needed!

<script type="module">
  import reactLeafletGoogleLayer from '';


Build Status Coverage Status npm version

Google layer for React Leaflet v3 using leaflet.gridlayer.googlemutant, implemented with typescript.


The current version of this library supports React Leaflet v3.
If you are using React Leaflet v2, please use the previous version of this library. Please see the documentation here:

Installation instructions:

  1. run npm install --save react-leaflet-google-layer
  2. By default this library uses the google-maps loader library to load the google maps api. If you want to use the script tag instead, you can Add google maps js api in your index.html:
    <script src="" async defer></script>
    and set the prop useGoogMapsLoader to false.

Usage example:

import * as React from 'react';
import { MapContainer } from 'react-leaflet';
import ReactLeafletGoogleLayer from 'react-leaflet-google-layer';

export const App = () => { 
  return (
      <MapContainer zoom={15} center={[45, 20]}>
        <ReactLeafletGoogleLayer apiKey='YOUR_API_KEY' type={'satellite'} />

Basic usage example


apiKey?: string
useGoogMapsLoader?: boolean, default: true
googleMapsAddLayers?: { name: 'BicyclingLayer' | 'TrafficLayer' | 'TransitLayer', options?: any }[]
zIndex?: number

From js-api-loader ( - googleMapsLoaderConf prop:

  • version?: string
  • client?: string
  • channel?: string
  • language?: string
  • region?: string
  • libraries?: string[]

From googlemutant (

  • minZoom?: number
  • maxZoom?: number
  • maxNativeZoom?: number
  • tileSize?: number | Point
  • subdomains?: string | string[]
  • errorTileUrl?: string
  • attribution?: string
  • opacity?: number
  • continuousWorld?: boolean
  • noWrap?: boolean
  • type?: 'roadmap' | 'satellite' | 'terrain' | 'hybrid'