38 lines
994 B
C++
38 lines
994 B
C++
#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;
|
|
}
|
|
|
|
}
|
|
|