Пример #1
0
 /**
  * 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();
     }
 }
Пример #2
0
 /**
  * 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();
     }
 }
Пример #3
0
 /**
  * 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());
 }
Пример #4
0
 public function testSouthWestWithNull()
 {
     $this->bound->setSouthWest(1, 2, false);
     $this->bound->setSouthWest(null);
     $this->assertNull($this->bound->getSouthWest());
 }