/** * get map tile from its numbers * * @param int $x x number of the tile * @param int $y y number of the tile * @param int $zoom map zoom * @return Tile */ public function getTile($x, $y, $zoom) { $tx = $x; $ty = $y; $this->_validateTileNumbers($tx, $ty, $zoom); if (!$this->_useTileImage) { $tile = new EmptyTile($this->getTileWidth(), $this->getTileHeight(), $this->_imageHandler); } else { if ($this->_useCache && $this->_tileCache->hasTile($tx, $ty, $zoom)) { //if tile image is in cache, take it from there $image = $this->_tileCache->getTile($tx, $ty, $zoom); $tile = new Tile($image); } else { $image = $this->_loadImage($this->_createUrl($tx, $ty, $zoom)); if ($image === false) { //when loading an image failed $tile = new EmptyTile($this->getTileWidth(), $this->getTileHeight(), $this->_imageHandler); } else { $this->_tileCache->addTile($image, $tx, $ty, $zoom); $tile = new Tile($image); } } } $tile->setWorldMap($this->getWorldMap($zoom)); $tile->setTileData($x, $y, $zoom); $tile->setImageHandler($this->_imageHandler); return $tile; }
private function _configure() { TileCache::$daysToRemember = $this->_conf->get('tile_cache_days_of_memory'); TileCache::$numberOfFilesToDelete = $this->_conf->get('tile_cache_number_of_files_to_delete'); TilesGetter::$limitOfTiles = $this->_conf->get('max_number_of_tiles_per_map'); $defaultColor = new Color(); $defaultColor->setColor($this->_conf->get('default_drawings_color')); DrawRequest::$defaultColor = $defaultColor; DrawRequest::$defaultThickness = new ParamThickness($this->_conf->get('default_path_thickness')); DrawRequest::$defaultTransparency = new ParamTransparency($this->_conf->get('default_drawings_transparency')); ParamPatternUrl::$patternMap = $this->_conf->get('pattern_point_image_map'); }