class_docstr: A subclass of |Plot| that simplifies plot creation with default axes,
  grids, tools, etc.
  
  Args:
      google_api_key (str):
          Google requires an API key be supplied for maps to function. See:
  
          https://developers.google.com/maps/documentation/javascript/get-api-key
  
      map_options: (:class:`~bokeh.models.map_plots.GMapOptions`)
          Configuration specific to a Google Map
  
  In addition to all the Bokeh model property attributes documented below,
  the ``Figure`` initializer also accepts the following options, which can
  help simplify configuration:
  
  .. bokeh-options:: GMapFigureOptions
      :module: bokeh.plotting.gmap
class_docstr_tok: ["A","subclass","of","|Plot|","that","simplifies","plot","creation","with","default","axes",",","grids",",","tools",",","etc",".","Args",":","google_api_key","(","str",")",":","Google","requires","an","API","key","be","supplied","for","maps","to","function",".","See",":","https",":","\/\/developers.google.com\/maps\/documentation\/javascript\/get-api-key","map_options",":","(",":","class",":","`","~bokeh.models.map_plots.GMapOptions","`",")","Configuration","specific","to","a","Google","Map","In","addition","to","all","the","Bokeh","model","property","attributes","documented","below",",","the","``","Figure","``","initializer","also","accepts","the","following","options",",","which","can","help","simplify","configuration",":","..","bokeh-options",":",":","GMapFigureOptions",":","module",":","bokeh.plotting.gmap"]
code: def __init__(self, **kw) -> None:
      opts = GMapFigureOptions(kw)
      super().__init__(x_range=Range1d(), y_range=Range1d(), **kw)
  
      if opts.x_axis_location is not None:
          xf = MercatorTickFormatter(dimension="lon")
          xt = MercatorTicker(dimension="lon")
          xt.num_minor_ticks = _get_num_minor_ticks(
              LinearAxis, opts.x_minor_ticks
          )
          self.add_layout(
              LinearAxis(
                  formatter=xf, ticker=xt, axis_label=opts.x_axis_label
              ),
              opts.x_axis_location,
          )
  
      if opts.y_axis_location is not None:
          yf = MercatorTickFormatter(dimension="lat")
          yt = MercatorTicker(dimension="lat")
          yt.num_minor_ticks = _get_num_minor_ticks(
              LinearAxis, opts.y_minor_ticks
          )
          self.add_layout(
              LinearAxis(
                  formatter=yf, ticker=yt, axis_label=opts.y_axis_label
              ),
              opts.y_axis_location,
          )
  
      tool_objs, tool_map = process_tools_arg(
          self, opts.tools, opts.tooltips
      )
      self.add_tools(*tool_objs)
      process_active_tools(
          self.toolbar,
          tool_map,
          opts.active_drag,
          opts.active_inspect,
          opts.active_scroll,
          opts.active_tap,
          opts.active_multi,
      )
  
file_path: bokeh/src/bokeh/plotting/gmap.py
imports: from __future__ import annotations
  import logging
  from ..models import GMapPlot, LinearAxis, MercatorTicker, MercatorTickFormatter, Range1d
  from ._figure import BaseFigureOptions
  from ._plot import _get_num_minor_ticks
  from ._tools import process_active_tools, process_tools_arg
  from .glyph_api import GlyphAPI
label_desc: Use image node_id 1 to create a new GMap object from inherited base classes: GMapPlot, GlyphAPI with example: obj = GMap()