function Marker(props, context) {
    ;(0, _classCallCheck3.default)(this, Marker)

    var _this = (0, _possibleConstructorReturn3.default)(
      this,
      (Marker.__proto__ || (0, _getPrototypeOf2.default)(Marker)).call(
        this,
        props,
        context
      )
    )

    var marker = new google.maps.Marker()
    ;(0, _MapChildHelper.construct)(
      Marker.propTypes,
      updaterMap,
      _this.props,
      marker
    )
    var markerClusterer = _this.context[_constants.MARKER_CLUSTERER]
    if (markerClusterer) {
      markerClusterer.addMarker(marker, !!_this.props.noRedraw)
    } else {
      marker.setMap(_this.context[_constants.MAP])
    }
    _this.state = (0, _defineProperty3.default)({}, _constants.MARKER, marker)
    return _this
  }
A wrapper around `google.maps.Marker`

@see https://developers.google.com/maps/documentation/javascript/3.exp/reference#Marker