/**
  * 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');
 }