/** * @constructor */ function __construct() { if (func_num_args() == 5) { $param0 = func_get_arg(0); $param1 = func_get_arg(1); $param2 = func_get_arg(2); $param3 = func_get_arg(3); $param4 = func_get_arg(4); } else { if (func_num_args() == 3) { $param0 = func_get_arg(0); $param1 = func_get_arg(1); $param2 = func_get_arg(2); } else { throw new Exception("Invalid argument count."); return; } } // params are point, point, epsg if (is_a($param0, "Mapbender_point") && is_a($param1, "Mapbender_point") && is_string($param2) && !$param3 && !$param4) { $e = new mb_notice("Mapbender_bbox: constructor: point1, point2, epsg"); $min = $param0; // is a Mapbender_point $max = $param1; // is a Mapbender_point $epsg = $param2; // is an EPSG code like "EPSG:4326" if ($min->isWestOf($max) && $min->isSouthOf($max) || $min->equals($max)) { if ($min->epsg == $max->epsg && $min->epsg == $epsg) { $this->min = $min; $this->max = $max; $this->epsg = $epsg; } else { $e = new mb_exception("Mapbender_bbox: constructor: EPSG mismatch!"); } } else { $e = new mb_exception("Mapbender_bbox: constructor: min (" . $this->min . ") is not southwest of max (" . $this->max . ")!"); } } else { if (is_numeric($param0) && is_numeric($param1) && is_numeric($param2) && is_numeric($param3) && is_string($param4)) { $e = new mb_notice("Mapbender_bbox: constructor: x1, y1, x2, y2, epsg"); $min = new Mapbender_point(floatval($param0), floatval($param1), $param4); $max = new Mapbender_point(floatval($param2), floatval($param3), $param4); $epsg = $param4; // is an EPSG code like "EPSG:4326" if ($min->isWestOf($max) && $min->isSouthOf($max)) { if ($min->epsg == $max->epsg && $min->epsg == $epsg) { $this->min = $min; $this->max = $max; $this->epsg = $epsg; } else { $e = new mb_exception("Mapbender_bbox: constructor: EPSG mismatch!"); } } else { $e = new mb_exception("Mapbender_bbox: constructor: min (" . $this->min . ") is not southwest of max (" . $this->max . ")!"); } } else { throw new Exception("invalid parameters to Mapbender_bbox"); } } }