How to load a map from a pak runtime

Are you trying to use level streaming with a dynamically injected pak ?

Try doing this before loading level :

ULevelStreamingDynamic* StreamingLevel = NewObject<ULevelStreamingDynamic>(GetWorld(), NAME_None, RF_Transient, nullptr);

StreamingLevel->SetShouldBeLoaded(true);
StreamingLevel->SetShouldBeVisible(true);
StreamingLevel->bShouldBlockOnLoad = false;
StreamingLevel->bInitiallyLoaded = true;
StreamingLevel->bInitiallyVisible = true;
StreamingLevel->LevelTransform = FTransform(0,0,0);

// PackageNameToLoad = "/Game/Scans/RHK/Map1"
StreamingLevel->PackageNameToLoad = FName(*PackageNameToLoad);
StreamingLevel->SetWorldAssetByPackageName(StreamingLevel->PackageNameToLoad);

GetWorld()->AddStreamingLevel(StreamingLevel);