使用产品:iObjects .NET 64位 .net4.0 操作系统:win10 x64
数据类型:文件型
问题详细描述:我想实现同时显示两个SCENE,一个加载球面,一个加载平面,两个使用同一个SMWU,我的SMWU里已建好了一个球面场景“三维模型场景”,一个平面场景“实景三维场景”,在IDESKTOP中打开正常。但是在.NET中,我加载一个没有问题,同时加载两个的时候,球面场景显示就有问题。附截图和代码,困扰我好几天了,麻烦解答一下,谢谢!!我发现只要去掉m_sceneControl_real.Scene.Open("实景三维场景"); 这一行,球面就能正常显示。
using SuperMap.Data;
using SuperMap.UI;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
private SceneControl m_sceneControl_model;
private SceneControl m_sceneControl_real;
private LayersControl m_layersControl;
private Workspace m_workspace;
public Form1()
{
InitializeComponent();
//初始化workspace
m_workspace = new Workspace();
//初始化layercontrol
m_layersControl = new LayersControl();
m_layersControl.Dock = DockStyle.Fill;
splitContainer1.Panel1.Controls.Add(m_layersControl);
//球面场景
m_sceneControl_model = new SceneControl();
m_sceneControl_model.Scene.LatLonGrid.IsVisible = false;
m_sceneControl_model.Dock = DockStyle.Fill;
m_sceneControl_model.Name = "m_sceneControl_model";
splitContainer2.Panel1.Controls.Add(m_sceneControl_model);
//平面场景
m_sceneControl_real = new SceneControl();
m_sceneControl_real.Dock = DockStyle.Fill;
m_sceneControl_real.Name = "m_sceneControl_real";
m_sceneControl_real.Scene.Type = SuperMap.Realspace.SceneType.Flat;
splitContainer2.Panel2.Controls.Add(m_sceneControl_real);
//打开默认工作空间
WorkspaceConnectionInfo wsinfo = new WorkspaceConnectionInfo();
wsinfo.Server = @"C:\Users\MB\Desktop\defaultworkspace.smwu";
wsinfo.Type = WorkspaceType.SMWU;
m_workspace.Open(wsinfo);
//layercontrol绑定三维模型场景
m_layersControl.Scene = m_sceneControl_model.Scene;
m_sceneControl_real.Scene.Workspace = m_workspace;
m_sceneControl_real.Scene.Open("实景三维场景");
m_sceneControl_real.Scene.Refresh();
m_sceneControl_model.Scene.Workspace = m_workspace;
m_sceneControl_model.Scene.Open("三维模型场景");
m_sceneControl_model.Scene.Refresh();
}
}
}