/** * Sets the scaled size of the marker image * * Available prototypes: * - function setScaledSize(Ivory\GoogleMap\Base\Size $scaledSize = null) * - function setScaledSize(double $width, double $height, string $widthUnit = null, string $heightUnit = null) * * @throws \Ivory\GoogleMap\Exception\OverlayException If the scaled size is not valid. */ public function setScaledSize() { $args = func_get_args(); if (isset($args[0]) && $args[0] instanceof Size) { $this->scaledSize = $args[0]; } elseif (isset($args[0]) && is_numeric($args[0]) && (isset($args[1]) && is_numeric($args[1]))) { if ($this->scaledSize === null) { $this->scaledSize = new Size(); } $this->scaledSize->setWidth($args[0]); $this->scaledSize->setHeight($args[1]); if (isset($args[2]) && is_string($args[2])) { $this->scaledSize->setWidthUnit($args[2]); } if (isset($args[3]) && is_string($args[3])) { $this->scaledSize->setHeightUnit($args[3]); } } elseif (!isset($args[0])) { $this->scaledSize = null; } else { throw OverlayException::invalidMarkerImageScaledSize(); } }