#include #include #include #include #pragma execution_character_set("utf-8") namespace LAMPMainWidget { MapLayer::MapLayer( const QString &id, LAMPMainWidget::CRS *crs, LAMPMainWidget::MapCanvas *mapCanvas) : mId(id), mCrs(crs), mZValue(-1), mZoomValue(kDefaultZoomValue), mProvider(nullptr), mMapCanvasMap(new MapCanvasMap(this)), mMapCanvas(mapCanvas) { } MapLayer::~MapLayer() { delete mCrs; delete mProvider; } MapLayer::MapLayer(const MapLayer &other) { mId = other.mId; mZValue = other.mZValue; mCrs = other.mCrs; mMapCanvas = other.mMapCanvas; } MapLayer::MapLayer(MapLayer &&other) noexcept { mId = other.mId; mZValue = other.mZValue; mCrs = other.mCrs; mMapCanvas = other.mMapCanvas; other.mId = QString{}; other.mCrs = nullptr; other.mZValue = 0; other.mMapCanvas = nullptr; } MapLayer & MapLayer::operator=(const MapLayer &other) { if (this != &other) { mId = other.mId; mZValue = other.mZValue; mCrs = other.mCrs; mMapCanvas = other.mMapCanvas; } return *this; } MapLayer & MapLayer::operator=(MapLayer &&other) noexcept { if (this != &other) { mId = other.mId; mZValue = other.mZValue; mCrs = other.mCrs; mMapCanvas = other.mMapCanvas; other.mId = QString{}; other.mCrs = nullptr; other.mZValue = 0; other.mMapCanvas = nullptr; } return *this; } void MapLayer::update() { if(!isVisible()){ qDebug() << id() << "=>图层不显示,跳过刷新操作"; mMapCanvasMap->hide(); return; } //qDebug() << "刷新图层内容=>" << mMapCanvas->viewExtent()<createTask(mMapCanvas->viewExtent(), mZoomValue); mMapCanvasMap->show(); } }