diff --git a/src/QtLocationPlugin/QGCMapUrlEngine.cpp b/src/QtLocationPlugin/QGCMapUrlEngine.cpp index b61079153d60c0de3e5d21dbba48bccfe1b660e7..fe2a8a2eb9194db0f9dedacd1a8ad2b07b88fc13 100644 --- a/src/QtLocationPlugin/QGCMapUrlEngine.cpp +++ b/src/QtLocationPlugin/QGCMapUrlEngine.cpp @@ -404,10 +404,10 @@ UrlFactory::_getURL(MapType type, int x, int y, int zoom, QNetworkAccessManager* break; case AirmapElevation: { - return QString("https://api.airmap.com/elevation/stage/srtm1/ele/carpet?points=%1,%2,%3,%4").arg(static_cast(x)*QGCMapEngine::srtm1TileSize - 180.0).arg( - static_cast(y)*QGCMapEngine::srtm1TileSize - 90.0).arg( - static_cast(x + 1)*QGCMapEngine::srtm1TileSize - 180.0).arg( - static_cast(y + 1)*QGCMapEngine::srtm1TileSize - 90.0); + return QString("https://api.airmap.com/elevation/stage/srtm1/ele/carpet?points=%1,%2,%3,%4").arg(static_cast(y)*QGCMapEngine::srtm1TileSize - 90.0).arg( + static_cast(x)*QGCMapEngine::srtm1TileSize - 180.0).arg( + static_cast(y + 1)*QGCMapEngine::srtm1TileSize - 90.0).arg( + static_cast(x + 1)*QGCMapEngine::srtm1TileSize - 180.0); } break; diff --git a/src/Terrain.cc b/src/Terrain.cc index c0fb92cef323dae8560ec62b5fed3e69891a16c0..bf5fced0e9c409a1dd1dc016bf94e42e2b2e7dce 100644 --- a/src/Terrain.cc +++ b/src/Terrain.cc @@ -210,12 +210,14 @@ void ElevationProvider::_fetchedTile() TerrainTile* terrainTile = new TerrainTile(responseJson); if (terrainTile->isValid()) { _tilesMutex.lock(); - if (!_tiles.contains(_getTileHash(terrainTile->centerCoordinate()))) { - _tiles.insert(_getTileHash(terrainTile->centerCoordinate()), *terrainTile); + if (!_tiles.contains(hash)) { + _tiles.insert(hash), *terrainTile); } else { delete terrainTile; } _tilesMutex.unlock(); + } else { + qCDebug(TerrainLog) << "Received invalid tile"; } reply->deleteLater(); diff --git a/src/TerrainTile.cc b/src/TerrainTile.cc index d52ccd236b0c20abbe404e31ab262b89d7016c1d..38a1d277eea12bd586dbe51d13a128779f0ef3b5 100644 --- a/src/TerrainTile.cc +++ b/src/TerrainTile.cc @@ -85,10 +85,10 @@ TerrainTile::TerrainTile(QJsonDocument document) qCDebug(TerrainTileLog) << "Incomplete bounding location"; return; } - _southWest.setLatitude(swArray[1].toDouble()); - _southWest.setLongitude(swArray[0].toDouble()); - _northEast.setLatitude(neArray[1].toDouble()); - _northEast.setLongitude(neArray[0].toDouble()); + _southWest.setLatitude(swArray[0].toDouble()); + _southWest.setLongitude(swArray[1].toDouble()); + _northEast.setLatitude(neArray[0].toDouble()); + _northEast.setLongitude(neArray[1].toDouble()); // Stats const QJsonObject& statsObject = dataObject[_jsonStatsKey].toObject();