File "pmapgroup.phtml"
Full path: /www/map/mapserver-extensions/pmapper-4.2.0/incphp/map/pmapgroup.phtml
File size: 1.96 KiB (2007 bytes)
MIME-type: text/x-php
Charset: utf-8
<?php
class PMapGroup
{
protected $map;
protected $groupname;
protected $groups;
protected $grouplist;
protected $group;
/**
* Class constructor
* @param object $map map object
* @param string $groupname name of group
* @return void
*/
public function __construct($map, $groupname)
{
$this->map = $map;
$this->groupname = $groupname;
$this->groups = $_SESSION['groups'];
$this->grouplist = $_SESSION['grouplist'];
$this->group = $this->grouplist[$groupname];
}
/**
* Return extent of a group as object
* @param bool $restrictToMapExt define if extent shall be restricted to map projection
* @return object extent with minx, miny, maxx, maxy properties
*/
public function getGroupExtent($restrictToMapExt)
{
require_once("pmaplayer.phtml");
$glayerList = $this->group->layerList;
$mExtMinx = 999999999;
$mExtMiny = 999999999;
$mExtMaxx = -999999999;
$mExtMaxy = -999999999;
foreach ($glayerList as $glayer) {
$pmapLayer = new PMapLayer($this->map, $glayer->glayerName);
$layerExt = $pmapLayer->getLayerExtent(true);
$mExtMinx = min($mExtMinx, $layerExt->minx);
$mExtMiny = min($mExtMiny, $layerExt->miny);
$mExtMaxx = max($mExtMaxx, $layerExt->maxx);
$mExtMaxy = max($mExtMaxy, $layerExt->maxy);
}
if ($restrictToMapExt) {
$mapExt = $this->map->extent;
$mExtMinx = max($mExtMinx, $mapExt->minx);
$mExtMiny = max($mExtMiny, $mapExt->miny);
$mExtMaxx = min($mExtMaxx, $mapExt->maxx);
$mExtMaxy = min($mExtMaxy, $mapExt->maxy);
}
$groupExt['minx'] = $mExtMinx;
$groupExt['miny'] = $mExtMiny;
$groupExt['maxx'] = $mExtMaxx;
$groupExt['maxy'] = $mExtMaxy;
return $groupExt;
}
}
?>