这个操作是哪个API来完成的在iobject java里面
Map map = new Map(workspaces); map.getLayers().insert(0,datasourceso.get(0).getDatasets().get(0));
我用这个API操作完成后提示有一个图层但是打开后还是没有
Map map = new Map(workspaces); Dataset datasetVector = workspaces.getDatasources().get(0).getDatasets().get("lhsh20152_Clip"); map.getLayers().add(datasetVector,true);
map.refresh();
这样添加上去地图还是没有
这边显示的都添加进去了,这个图层名称和我手动添加进去是一样的,用api添加的时候就是不行,全幅显示之后还是没有,大神还有什么办法吗?
Workspace workspaces = new Workspace(); WorkspaceConnectionInfo connectionInfo = new WorkspaceConnectionInfo(); connectionInfo.setServer(lpath); connectionInfo.setType(WorkspaceType.SMWU); workspaces.open(connectionInfo); Map map = new Map(workspaces); Dataset datasetVector = workspaces.getDatasources().get(0).getDatasets().get(0); map.getLayers().add(datasetVector,true); map.getLayers().get(0).setVisible(true); map.getLayers().get(0).setEditable(true); map.viewEntire(); map.refresh(); System.out.println( "数据集:" +map.getLayers().get(0).getDataset()); System.out.println("layer: "+ map.getLayers().get(0).getName()); System.out.println(map.getName()); workspaces.save(); workspaces.close();
这个是我这边的添加地图的代码
Workspace workspaces = new Workspace(); WorkspaceConnectionInfo connectionInfo = new WorkspaceConnectionInfo(); connectionInfo.setServer(lpath); connectionInfo.setType(WorkspaceType.SMWU); workspaces.open(connectionInfo); Map map = new Map(workspaces); Dataset datasetVector = workspaces.getDatasources().get(0).getDatasets().get(0); map.getLayers().add(datasetVector,true); map.getLayers().get(0).setVisible(true); map.getLayers().get(0).setEditable(true); map.viewEntire(); map.refresh(); LayerSettingImage setting = new LayerSettingImage(); setting.setOpaqueRate(50); MapControl mapControl = new MapControl(workspaces); Layer layer = mapControl.getMap().getLayers().add(datasetVector,setting,true); mapControl.getMap().ensureVisible(layer); mapControl.getMap().refresh(); System.out.println("mapController: "+ mapControl.getMap()); System.out.println( "数据集:" +map.getLayers().get(0).getDataset()); System.out.println("layer: "+ map.getLayers().get(0).getName()); System.out.println(map.getName()); map.dispose(); mapControl.dispose(); workspaces.save(); workspaces.close();
添加了mapcontroller方法后还是不行
你好,mapcontrol是存在一个控件里面的,如JPanel里面,类似于这样写,而不是随便new 一个mapcontrol。
不好意思,你只是想保存地图并不是显示是吗?你需要将地图转换为xml,然后用maps接口添加导地图集合中