diff --git a/src/QtLocationPlugin/QGCMapUrlEngine.cpp b/src/QtLocationPlugin/QGCMapUrlEngine.cpp index c1a20e47d63ccb551778d593bbe2eb36ba295aa4..e916217f4fb8862efc638f3842d7341f6beefb79 100644 --- a/src/QtLocationPlugin/QGCMapUrlEngine.cpp +++ b/src/QtLocationPlugin/QGCMapUrlEngine.cpp @@ -147,8 +147,9 @@ UrlFactory::getTileURL(MapType type, int x, int y, int zoom, QNetworkAccessManag //-- Build URL QNetworkRequest request; QString url = _getURL(type, x, y, zoom, networkManager); - if(url.isEmpty()) + if(url.isEmpty()) { return request; + } request.setUrl(QUrl(url)); request.setRawHeader("Accept", "*/*"); switch (type) { @@ -433,7 +434,10 @@ UrlFactory::_getURL(MapType type, int x, int y, int zoom, QNetworkAccessManager* int y_min = 22 * pow(2, gap); int y_max = 26 * pow(2, gap) + (2*gap - 1); - if ( zoom > 5 && x >= x_min && x <= x_max && y >= y_min && y <= y_max ) { + if ( zoom > 19 ) { + return QString(""); + } + else if ( zoom > 5 && x >= x_min && x <= x_max && y >= y_min && y <= y_max ) { return QString("http://xdworld.vworld.kr:8080/2d/Base/service/%1/%2/%3.png").arg(zoom).arg(x).arg(y); } else { @@ -453,7 +457,10 @@ UrlFactory::_getURL(MapType type, int x, int y, int zoom, QNetworkAccessManager* int y_min = 22 * pow(2, gap); int y_max = 26 * pow(2, gap) + (2*gap - 1); - if ( zoom > 5 && x >= x_min && x <= x_max && y >= y_min && y <= y_max ) { + if ( zoom > 19 ) { + return QString(""); + } + else if ( zoom > 5 && x >= x_min && x <= x_max && y >= y_min && y <= y_max ) { return QString("http://xdworld.vworld.kr:8080/2d/Satellite/service/%1/%2/%3.jpeg").arg(zoom).arg(x).arg(y); } else { diff --git a/src/QtLocationPlugin/QGeoTileFetcherQGC.cpp b/src/QtLocationPlugin/QGeoTileFetcherQGC.cpp index 860b820968dd9261697a0248f0ae43e67a0c9bd5..4237502056dea039db2cf252eb78a8e99bb640f8 100644 --- a/src/QtLocationPlugin/QGeoTileFetcherQGC.cpp +++ b/src/QtLocationPlugin/QGeoTileFetcherQGC.cpp @@ -75,7 +75,12 @@ QGeoTileFetcherQGC::getTileImage(const QGeoTileSpec &spec) { //-- Build URL QNetworkRequest request = getQGCMapEngine()->urlFactory()->getTileURL((UrlFactory::MapType)spec.mapId(), spec.x(), spec.y(), spec.zoom(), _networkManager); - return new QGeoTiledMapReplyQGC(_networkManager, request, spec); + if ( ! request.url().isEmpty() ) { + return new QGeoTiledMapReplyQGC(_networkManager, request, spec); + } + else { + return NULL; + } } //-----------------------------------------------------------------------------