/** * load all tiles * * @param array $leftUpCorner * @param array $rightDownCorner * @return array */ protected function _getTiles($leftUpCorner, $rightDownCorner) { $tiles = array(); $leftUpTilesNumber = $this->_tileSource->getTileNumbersFromCoordinates($leftUpCorner['lon'], $leftUpCorner['lat'], $this->_worldMap->getZoom()); $rightDownTilesNumber = $this->_tileSource->getTileNumbersFromCoordinates($rightDownCorner['lon'], $rightDownCorner['lat'], $this->_worldMap->getZoom()); $tilesGetter = new TilesGetter($leftUpTilesNumber, $rightDownTilesNumber, $this->_tileSource, $this->_worldMap); $tilesGetter->startLoading(); while (!$tilesGetter->isLoaded()) { //wating for finishing loading } return $tilesGetter->getTiles(); }