public function setZoomControl()
    {
        $args = func_get_args();

        if (isset($args[0]) && ($args[0] instanceof ZoomControl)) {
            $this->zoomControl = $args[0];
            $this->mapOptions['zoomControl'] = true;
        } elseif ((isset($args[0]) && is_string($args[0])) && (isset($args[1]) && is_string($args[1]))) {
            if ($this->zoomControl === null) {
                $this->zoomControl = new ZoomControl();
            }

            $this->zoomControl->setControlPosition($args[0]);
            $this->zoomControl->setZoomControlStyle($args[1]);

            $this->mapOptions['zoomControl'] = true;
        } elseif (!isset($args[0])) {
            $this->zoomControl = null;

            if (isset($this->mapOptions['zoomControl'])) {
                unset($this->mapOptions['zoomControl']);
            }
        } else {
            throw MapException::invalidZoomControl();
        }
    }