{
qDebug() << __PRETTY_FUNCTION__;
- const int maxTileNumber = (1 << m_zoomLevel) - 1;
+ const int MAX_TILE_NUMBER = MapEngine::tileMaxValue(m_zoomLevel);
+ const int MIN_TILE_NUMBER_X = -(MAX_TILE_NUMBER + 1) / 2;
+ const int MAX_TULE_NUMBER_X = MAX_TILE_NUMBER * 1.5 + 1;
if ((m_zoomLevel >= MIN_MAP_ZOOM_LEVEL) && (m_zoomLevel <= MAX_MAP_ZOOM_LEVEL)
- /* && (m_tileNumber.x() >= 0) && (m_tileNumber.x() <= maxTileNumber)*/
- && (m_tileNumber.y() >= 0) && (m_tileNumber.y() <= maxTileNumber))
+ && (m_tileNumber.x() >= MIN_TILE_NUMBER_X) && (m_tileNumber.x() <= MAX_TULE_NUMBER_X)
+ && (m_tileNumber.y() >= 0) && (m_tileNumber.y() <= MAX_TILE_NUMBER))
setPos(MapEngine::convertTileNumberToSceneCoordinate(m_zoomLevel, m_tileNumber));
else