RasterProcessTool/LAMPMainWidget/provider/tms/tmsproviderfactory.cpp

38 lines
994 B
C++
Raw Normal View History

2025-02-07 09:16:22 +00:00
#include <include/provider/tms/tmsproviderfactory.h>
#include <include/provider/tms/ostnormalprovider.h>
#include <include/provider/tms/gaodenormalprovider.h>
#pragma execution_character_set("utf-8")
namespace LAMPMainWidget {
QHash<TmsProviders, LayerProvider *> TmsProviderFactory::mProviders{};
LayerProvider *
TmsProviderFactory::create(LAMPMainWidget::TmsProviders provider) {
LayerProvider *result = nullptr;
switch (provider) {
case OSTNormalMap:
if (mProviders.contains(OSTNormalMap)) {
result = mProviders.value(OSTNormalMap);
} else {
result = new OSTNormalProvider();
mProviders.insert(OSTNormalMap, result);
}
break;
case GaodeNormapMap:
if (mProviders.contains(GaodeNormapMap)) {
result = mProviders.value(GaodeNormapMap);
} else {
result = new GaodeNormalProvider();
mProviders.insert(GaodeNormapMap, result);
}
break;
default:break;
}
return result;
}
}