使用飞行管理的示例程序,报错:指定名称的三维地图场景不存在。 [已关闭]

0 投票
private void initialize() {
		try {
			
//			WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo("../../SampleData/OlympicGreenSCV/OlympicGreen.sxwu");
			WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo("E:\\test\\cloud_zb_1.smwu");
            conInfo.setType(WorkspaceType.SXWU);
            m_workspace.open(conInfo);

            m_sceneControl.getScene().setWorkspace(m_workspace);

//            m_sceneControl.getScene().open("OlympicGreen");
            m_sceneControl.getScene().open("cloud_zb");
			
			m_sceneControl.getScene().setCrossVisible(false);

//			Layer3D olympicGreenLayer = m_sceneControl.getScene().getLayers().get("Ground@OlympicGreen");
			Layer3D olympicGreenLayer = m_sceneControl.getScene().getLayers().get("cloud_zb");
            m_sceneControl.getScene().ensureVisible(olympicGreenLayer.getBounds(), 1000);
	        
	        for(int i= 0;i<m_sceneControl.getScene().getLayers().getCount();i++)
	        {
	        	Layer3D layer = m_sceneControl.getScene().getLayers().get(i);
	        	layer.setSelectable(false);
	        }
	        
             m_point3Ds = new Point3Ds();
             m_point3DsAll = new Point3Ds();
             m_geoLine3D = new GeoLine3D();
             m_geoLine3D.setStyle3D(setLineGeoStyle3D());
             m_pointName = "Point";
		} catch (Exception ex) {
			System.out.println(ex.getMessage());
		}
	}

注释掉的是原代码,下一行就是加载自己的缓存文件,但是会报错:name 指定名称的三维地图场景不存在。

但是idesktop能打开文件,场景名是正确的

问题关闭原因: 已解决
3月 1 分类:  74次浏览 | 用户: july_et0708 才疏学浅 (12 分)
已关闭 3月 2 用户:july_et0708

1个回答

0 投票
你好,您可以断点调试一下,看下是在哪一句报的错,您这个问题可能是udb数据源独占导致的。
3月 2 用户: 张亮 名扬四海 (2,303 分)
m_sceneControl.getScene().open("cloud_zb")

打了断点发现是在这句代码报的错。但是我的场景名称确实是这个呀,我从idesktop10i里复制的。

我找到错误了,不好意思,

conInfo.setType(WorkspaceType.SXWU);

类型错了,应该是SMWU,实在是太粗心了。
...