How to get the UIView instance for a Google Map marker?

Output: enter image description here

Code:

import UIKit
import GoogleMaps

class MapViewController: UIViewController {
  
  @IBOutlet weak var mapView: GMSMapView!
  var sourceView: UIView?
}

extension MapViewController: GMSMapViewDelegate {
  
  func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {
    mapCenterPinImage.fadeOut(0.25)
    
    // Adding a delay becuase when click on marker Camera changes it position
    DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) {
      
      let location = marker.accessibilityActivationPoint
      self.sourceView = UIView(frame: CGRect(x: location.x, y: location.y, width: 1, height: 1))
      self.view.addSubview(self.sourceView!)
    
      let popController = MyPopUpViewController()
      popController.modalPresentationStyle = UIModalPresentationStyle.popover
      popController.preferredContentSize = CGSize(width: 200, height: 200)
      popController.popoverPresentationController?.delegate = self
      popController.popoverPresentationController?.sourceView = self.sourceView
      self.present(popController, animated: true)
    }

    return false
  }
  
}
extension MapViewController: UIPopoverPresentationControllerDelegate{
  func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
    return .none
  }
  func popoverPresentationControllerShouldDismissPopover(_ popoverPresentationController: UIPopoverPresentationController) -> Bool {
    sourceView?.removeFromSuperview()
    sourceView = nil
    return true
  }
  
}

What I've done basically created a UIView and added it to ViewController at runtime and set this as a source of Popup and make it nil when it's dismissed. marker.accessibilityActivationPoint is the source of X and Y according to device's screen