예제 #1
0
 /**
  * Calculte map extent
  */
 private function calculateExtent()
 {
     $mapExtent = $this->refMapExtent;
     //$this->internalMap->extent;
     pm_logDebug(4, $this->refMapExtent, 'refMapExtent 1:');
     if ($this->autoExtent) {
         $mapExtentAuto = PluginsMapUtils::calculateExtent($this->internalMap, $this->autoExtentGroups, false);
         if ($mapExtentAuto->minx != -1 && $mapExtentAuto->miny != -1 && $mapExtentAuto->maxx != -1 && $mapExtentAuto->maxy != -1) {
             $marginX = 0;
             $marginY = 0;
             if ($this->marginPercent != 0) {
                 $marginX = ($mapExtentAuto->maxx - $mapExtentAuto->minx) * $this->marginPercent / 100;
                 $marginY = ($mapExtentAuto->maxy - $mapExtentAuto->miny) * $this->marginPercent / 100;
             } else {
                 if ($this->marginFixValue != 0) {
                     $marginX = $this->marginFixValue / 2;
                     $marginY = $this->marginFixValue / 2;
                 }
             }
             $mapExtent->setExtent($mapExtentAuto->minx - $marginX, $mapExtentAuto->miny - $marginY, $mapExtentAuto->maxx + $marginX, $mapExtentAuto->maxy + $marginY);
         }
     }
     $this->refMapExtent = $mapExtent;
     pm_logDebug(4, $this->refMapExtent, 'refMapExtent 2:');
     //		$this->internalMap->setExtent($mapExtent->minx, $mapExtent->miny, $mapExtent->maxx, $mapExtent->maxy);
 }