/** * Add a coordinate to the polyline. * * Available prototypes: * - function addCoordinate(Ivory\GoogleMap\Base\Coordinate $coordinate) * - function addCoordinate(double $latitude, double $longitude, boolean $noWrap = true) * * @throws \Ivory\GoogleMap\Exception\OverlayException If the coordinate is not valid. */ public function addCoordinate() { $args = func_get_args(); if (isset($args[0]) && $args[0] instanceof Coordinate) { $this->coordinates[] = $args[0]; } elseif (isset($args[0]) && is_numeric($args[0]) && (isset($args[1]) && is_numeric($args[1]))) { $coordinate = new Coordinate($args[0], $args[1]); if (isset($args[2]) && is_bool($args[2])) { $coordinate->setNoWrap($args[2]); } $this->coordinates[] = $coordinate; } else { throw OverlayException::invalidPolylineCoordinate(); } }