/**
  * Sets the anchor of the marker image
  *
  * Available prototypes:
  *  - function setAnchor(Ivory\GoogleMap\Base\Point $anchor = null)
  *  - function setAnchor(double x, double y)
  *
  * @throws \Ivory\GoogleMap\Exception\OverlayException If the anchor is not valid (prototypes).
  */
 public function setAnchor()
 {
     $args = func_get_args();
     if ($args[0] instanceof Point) {
         $this->anchor = $args[0];
     } elseif (isset($args[0]) && is_numeric($args[0]) && (isset($args[1]) && is_numeric($args[1]))) {
         if ($this->anchor === null) {
             $this->anchor = new Point();
         }
         $this->anchor->setX($args[0]);
         $this->anchor->setY($args[1]);
     } elseif (!isset($args[0])) {
         $this->anchor = null;
     } else {
         throw OverlayException::invalidMarkerImageAnchor();
     }
 }