/** * Sets the marker shadow. * * Available prototypes: * - function setShadow(Ivory\GoogleMap\Overlays\MarkerImage $markerImage = null) * - function setShadow(string $url = null) * * @throws \Ivory\GoogleMap\Exception\OverlayException If the marker shadow is not valid. */ public function setShadow() { $args = func_get_args(); if (isset($args[0]) && $args[0] instanceof MarkerImage) { if ($args[0]->getUrl() === null) { throw OverlayException::invalidMarkerShadowUrl(); } $this->shadow = $args[0]; } elseif (isset($args[0]) && is_string($args[0])) { if ($this->shadow === null) { $this->shadow = new MarkerImage(); } $this->shadow->setUrl($args[0]); } elseif (!isset($args[0])) { $this->shadow = null; } else { throw OverlayException::invalidMarkerShadow(); } }