/** * method checks if height of the t * * @return bool */ protected function _checkHeight() { $height = $this->_mapData->getHeight(); if (is_null($height) || !is_numeric($height) || $height <= 0) { return false; } return true; }
/** * return array of MarkPoints objects * * @return array */ public function getMarkPoints() { $points = array(); $string = $this->_mapRequest->getMarkPoints(); if (is_null($string)) { return array(); } $pointsString = explode(self::$drawObjectDelimeter, $string); foreach ($pointsString as $pointString) { $coordinates = explode(self::$paramDelimeter, $pointString); $i = 0; foreach ($coordinates as $value) { if ($i == 0 && is_numeric($value)) { $lon = $value; $i++; } else { if (is_numeric($value)) { $addPoint = new DrawMarkPoint($lon, $value); $points[] = $addPoint; $i = 0; } else { if (isset($addPoint)) { $param = ParamFactory::create($value); $addPoint->setParam($param); } } } } } return $points; }
public function execute() { $this->_configure(); try { $mapRequest = new MapRequest($this->_get); $leftUpCorner = $mapRequest->getLeftUpCornerPoint(); $rightDownCorner = $mapRequest->getRightDownCornerPoint(); $mapProcessor = MapProcessor::factory($mapRequest); // create map object $bboxRespons = BboxRespons::factory($mapRequest->getBboxReturnType()); $mapProcessor->getTileSource()->useImages($bboxRespons == null); $map = $mapProcessor->createMap($bboxRespons); if ($bboxRespons != null) { $bboxRespons->setData($map); $bboxRespons->send(); die; } $map->setImageHandler(ImageHandler::factory($mapRequest->getImageType())); $drawHandle = new DrawHandle($map); $drawRequest = new DrawRequest($mapRequest); $drawHandle->draw($drawRequest); $mapWithLogo = new LogoMap($map, $this->_conf); $mapWithLogo->setLogoLayout(LogoLayout::factoryFromUrl($mapRequest->getLogoLayoutName())); $scaleBar = new ScaleBar($mapWithLogo, $this->_conf); $scaleBar->setUnit($mapRequest->getScaleBarUnit()); $scaleBar->putOnMap(ScaleBarLayout::factoryFromUrl($mapRequest->getScaleBarLayoutName())); // send output image $mapWithLogo->send(); die; } catch (NoMapProcessorException $e) { $map = new WrongRequestMap($this->_conf->get('wrong_map_request_file')); $map->send(); die; } catch (WrongMapRequestDataException $e) { $map = new WrongRequestMap($this->_conf->get('wrong_map_request_file')); $map->send(); die; } /* header('Content-Type: image/png'); $img = imagecreatefrompng('http://tile.openstreetmap.org/12/2048/1362.png'); imagepng($img);*/ }
/** * create output map from the temoporary one * * @param Map $map */ private function _prepareOutputMap($map) { $image = $map->getImage(); $outputMapLeftUpInPixels = $this->_getLeftUpCornerForCutingResultMap($map); $resultMap = new Map($this->_createResultMapImage($image, $outputMapLeftUpInPixels['x'], $outputMapLeftUpInPixels['y'], $this->_mapData->getWidth(), $this->_mapData->getHeight())); $this->_setUpResultMapCorners($resultMap); $resultMap->setWorldMap($this->_worldMap); $resultMap->setImageHandler($this->_tileSource->getImageHandler()); return $resultMap; }