class_docstr: A subclass of :class:`~matplotlib.image.AxesImage` which provides an
  interface for getting a raster from the given object with interactive
  slippy map type functionality.
  
  Kwargs are passed to the AxesImage constructor.
code: def draw(self, renderer, *args, **kwargs):
      if not self.get_visible():
          return
  
      ax = self.axes
      window_extent = ax.get_window_extent()
      [x1, y1], [x2, y2] = ax.viewLim.get_points()
      if not self.user_is_interacting:
          located_images = self.raster_source.fetch_raster(
              ax.projection,
              extent=[x1, x2, y1, y2],
              target_resolution=(
                  window_extent.width,
                  window_extent.height,
              ),
          )
          self.cache = located_images
  
      for img, extent in self.cache:
          self.set_array(img)
          with ax.hold_limits():
              self.set_extent(extent)
          super().draw(renderer, *args, **kwargs)
  
file_path: cartopy/lib/cartopy/mpl/slippy_image_artist.py
imports: import matplotlib.artist
  from matplotlib.image import AxesImage
label_desc: Use image node_id 5 for calling the SlippyImageArtist obj's underlying member method code with example usage: obj.draw(renderer) without return types