diff --git a/src/app/main.cpp b/src/app/main.cpp index 021d6e2..2892f5a 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -397,12 +397,21 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re // ── 二维数据集栏:天地图底图开关(③,复用轨迹图 token,经同一共享 GeoLocalFrame 配准)── auto* basemap = new geopro::app::TileBasemap(*scene, renderWindowPtr, frame, &window); + // 当前底图选择(默认 天地图=Satellite,对齐 Column2DDataset 默认项);数据重锚后据此在数据位置加载。 + auto basemapKind = + std::make_shared(geopro::app::TileBasemap::Satellite); QObject::connect(drawer->col2D(), &geopro::app::Column2DDataset::basemapChanged, basemap, - [basemap](int idx) { - // 地图下拉:0 天地图(卫星影像,对齐原版观感) / 1 Google(暂未实现→隐藏) / 2 隐藏。 - basemap->show(idx == 0 ? geopro::app::TileBasemap::Satellite - : geopro::app::TileBasemap::Hidden); + [basemap, basemapKind](int idx) { + // 地图下拉:0 天地图(卫星影像) / 1 Google(暂未实现→隐藏) / 2 隐藏。 + *basemapKind = (idx == 0) ? geopro::app::TileBasemap::Satellite + : geopro::app::TileBasemap::Hidden; + basemap->show(*basemapKind); }); + // 首个真实剖面到达 → frame 重锚到数据 lat/lon 后,把选中的底图加载到数据所在位置 + // (默认天地图即在此刻出现,避免启动时在样本原点拉无关瓦片)。 + sceneView->onFrameReanchored = [basemap, basemapKind]() { + if (*basemapKind != geopro::app::TileBasemap::Hidden) basemap->show(*basemapKind); + }; // ── 中央“空状态”引导浮层:未接入真实 sections 时,引导首次使用者从左侧入手。── // 透明背景 + 鼠标穿透(不挡 QVTK 交互);CenterOverlay 随视口尺寸保持居中; @@ -788,11 +797,13 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re if (vtkFsBtn) { vtkFsBtn->setCheckable(true); QObject::connect(vtkFsBtn, &QToolButton::toggled, &window, - [applyFullscreen, vtkDock, allDocks, detailFsBtn](bool on) { + [applyFullscreen, vtkDock, allDocks, detailFsBtn, drawer](bool on) { if (on && detailFsBtn && detailFsBtn->isChecked()) { QSignalBlocker b(detailFsBtn); detailFsBtn->setChecked(false); } + // VTK 全屏含左侧三栏(drawer 本就在 vtkDock 内):进入时确保展开可见。 + if (on) drawer->expand(); applyFullscreen(vtkDock, allDocks, on); }); } diff --git a/src/app/panels/columns/Column2DDataset.cpp b/src/app/panels/columns/Column2DDataset.cpp index 2bacdb4..3266a61 100644 --- a/src/app/panels/columns/Column2DDataset.cpp +++ b/src/app/panels/columns/Column2DDataset.cpp @@ -27,7 +27,7 @@ Column2DDataset::Column2DDataset(QWidget* parent) : QWidget(parent) { basemap->addItem(QStringLiteral("天地图")); basemap->addItem(QStringLiteral("Google Map")); basemap->addItem(QStringLiteral("隐藏")); - basemap->setCurrentIndex(2); // 默认隐藏:选「天地图」即触发 currentIndexChanged→显示 + basemap->setCurrentIndex(0); // 默认天地图:数据重锚后由 onFrameReanchored 在数据位置加载 connect(basemap, qOverload(&QComboBox::currentIndexChanged), this, [this](int index) { emit basemapChanged(index); }); form->addRow(QStringLiteral("底图源"), basemap);