/** * Sets the autocomplete bound. * * Available prototypes: * - function setBound(Ivory\GoogleMap\Base\Bound $bound = null) * - function setBount(Ivory\GoogleMap\Base\Coordinate $southWest, Ivory\GoogleMap\Base\Coordinate $northEast) * - function setBound( * double $southWestLatitude, * double $southWestLongitude, * double $northEastLatitude, * double $northEastLongitude, * boolean southWestNoWrap = true, * boolean $northEastNoWrap = true * ) * * @throws \Ivory\GoogleMap\Exception\PlaceException If the bound is not valid (prototypes). */ public function setBound() { $args = func_get_args(); if (isset($args[0]) && $args[0] instanceof Bound) { $this->bound = $args[0]; } elseif (isset($args[0]) && $args[0] instanceof Coordinate && (isset($args[1]) && $args[1] instanceof Coordinate)) { if ($this->bound === null) { $this->bound = new Bound(); } $this->bound->setSouthWest($args[0]); $this->bound->setNorthEast($args[1]); } elseif (isset($args[0]) && is_numeric($args[0]) && (isset($args[1]) && is_numeric($args[1])) && (isset($args[2]) && is_numeric($args[2])) && (isset($args[3]) && is_numeric($args[3]))) { if ($this->bound === null) { $this->bound = new Bound(); } $this->bound->setSouthWest(new Coordinate($args[0], $args[1])); $this->bound->setNorthEast(new Coordinate($args[2], $args[3])); if (isset($args[4]) && is_bool($args[4])) { $this->bound->getSouthWest()->setNoWrap($args[4]); } if (isset($args[5]) && is_bool($args[5])) { $this->bound->getNorthEast()->setNoWrap($args[5]); } } elseif (!isset($args[0])) { $this->bound = null; } else { throw PlaceException::invalidAutocompleteBound(); } }
/** * Sets the ground overlay bound. * * Available prototypes: * - function setBound(Ivory\GoogleMap\Base\Bound $bound) * - function setBount(Ivory\GoogleMap\Base\Coordinate $southWest, Ivory\GoogleMap\Base\Coordinate $northEast) * - function setBound( * double $southWestLatitude, * double $southWestLongitude, * double $northEastLatitude, * double $northEastLongitude, * boolean southWestNoWrap = true, * boolean $northEastNoWrap = true * ) * * @throws \Ivory\GoogleMap\Exception\OverlayException If the ground overlay bound is not valid (prototypes). */ public function setBound() { $args = func_get_args(); if (isset($args[0]) && $args[0] instanceof Bound) { if ($args[0]->hasCoordinates()) { $this->bound = $args[0]; } else { throw OverlayException::invalidGroundOverlayBoundCoordinates(); } } elseif (isset($args[0]) && $args[0] instanceof Coordinate && (isset($args[1]) && $args[1] instanceof Coordinate)) { $this->bound->setSouthWest($args[0]); $this->bound->setNorthEast($args[1]); } elseif (isset($args[0]) && is_numeric($args[0]) && (isset($args[1]) && is_numeric($args[1])) && (isset($args[2]) && is_numeric($args[2])) && (isset($args[3]) && is_numeric($args[3]))) { $this->bound->setSouthWest(new Coordinate($args[0], $args[1])); $this->bound->setNorthEast(new Coordinate($args[2], $args[3])); if (isset($args[4]) && is_bool($args[4])) { $this->bound->getSouthWest()->setNoWrap($args[4]); } if (isset($args[5]) && is_bool($args[5])) { $this->bound->getNorthEast()->setNoWrap($args[5]); } } else { throw OverlayException::invalidGroundOverlayBound(); } }
/** * Renders the bound. * * @param \Ivory\GoogleMap\Base\Bound $bound The bound. * * @return string The JS output. */ public function render(Bound $bound) { if ($bound->hasExtends() || !$bound->hasCoordinates()) { return sprintf('%s = new google.maps.LatLngBounds();' . PHP_EOL, $bound->getJavascriptVariable()); } return sprintf('%s = new google.maps.LatLngBounds(%s, %s);' . PHP_EOL, $bound->getJavascriptVariable(), $bound->getSouthWest()->getJavascriptVariable(), $bound->getNorthEast()->getJavascriptVariable()); }
public function testSouthWestWithNull() { $this->bound->setSouthWest(1, 2, false); $this->bound->setSouthWest(null); $this->assertNull($this->bound->getSouthWest()); }