/** * 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(); } }
public function testRender() { $markerImage = new MarkerImage(); $markerImage->setJavascriptVariable('markerImage'); $markerImage->setUrl('url'); $markerImage->setSize(1, 2); $markerImage->getSize()->setJavascriptVariable('size'); $markerImage->setOrigin(3, 4); $markerImage->getOrigin()->setJavascriptVariable('origin'); $markerImage->setAnchor(5, 6); $markerImage->getAnchor()->setJavascriptVariable('anchor'); $markerImage->setScaledSize(7, 8); $markerImage->getScaledSize()->setJavascriptVariable('scaled_size'); $expected = <<<EOF markerImage = new google.maps.MarkerImage("url", size, origin, anchor, scaled_size); EOF; $this->assertSame($expected, $this->markerImageHelper->render($markerImage)); }
/** * @expectedException \Ivory\GoogleMap\Exception\OverlayException * @expectedExceptionMessage The url of a maker image must be a string value. */ public function testUrlWithInvalidValue() { $this->markerImage->setUrl(true); }