GeoRegion geoRegion = new GeoRegion(); Point2Ds point2Ds = new Point2Ds(); //其起始点和终止点重合 for (int i = 0; i < point2DList.size(); i++) { point2Ds.add(point2DList.get(i)); } geoRegion.addPart(point2Ds); Datasource datasource = workspace.getDatasources().get(0); DatasetVector dataset = (DatasetVector) datasource.getDatasets().get(0); Recordset recordset = dataset.getRecordset(false, CursorType.DYNAMIC); recordset.edit(); recordset.addNew(geoRegion); recordset.update(); recordset.close(); geoRegion.dispose(); recordset.dispose(); mapControl.getMap().getLayers().add(dataset,true); mapControl.getMap().refresh();
这是我根据已知点坐标来构造面对象并添加记录集并显示的代码,可是我这样操作后界面卡住了,而且也没有添加成功显示,这是什么原因呢?
你好,感谢你的回答。
1.数据集类型确定是面数据集,我采用的工作控件为
/SampleData/MapEdit/changchun.smwu
数据源为数据源数组索引1名称edit,数据集为edit数据源的数据集数组索引2名称为Region
2.取消recordset.edit();后addNew方法返回为true。
但是还是卡住并且没有显示,请问还有什么地方有错误吗?
GeoRegion geoRegion = new GeoRegion(); Point2Ds point2Ds = new Point2Ds(); //其起始点和终止点重合 for (int i = 0; i < point2DList.size(); i++) { point2Ds.add(point2DList.get(i)); } point2Ds.add(point2DList.get(0)); geoRegion.addPart(point2Ds); mapControl.getMap().getTrackingLayer().add(geoRegion,"123"); mapControl.getMap().refresh();
使用TrackingLayer.add()方法也不显示
您那边现在写一个简单的方法看一下,参考一下下面这个代码
Point2Ds point2Ds = new Point2Ds(); point2Ds.add(new Point2D(114,36)); point2Ds.add(new Point2D(120,40)); GeoRegion geoRegion = new GeoRegion(point2Ds); m_mapcontrol.getMap().getTrackingLayer().add(geoRegion,"gg");
在World.smwu上可以。 我想问在workspace:/SampleData/GeometryInfo/World.smwu这个工作空间
可以根据坐标来绘制面,但是不能自由绘面
在workspace:/SampleData/GeometryInfo/changchun.smwu这个工作空间
可以自由绘面,但是不能根据坐标来绘制面
这个原理是什么啊,绘面添加对象跟工作空间有关系吗
根据坐标来绘制面,这个坐标的经纬度是否需要和地图相关联啊?
你看第一个我采用长沙,上海,台北,广州四个点经纬度可以成功绘面
point2DList.add(new Point2D(112.98626, 28.25591)); point2DList.add(new Point2D(121.48941, 31.40527)); point2DList.add(new Point2D(121.520076, 25.030724)); point2DList.add(new Point2D(113.27324, 23.15792));
第二个采用x,y坐标也可以成功
point2Ds.add(new Point2D(114,36)); point2Ds.add(new Point2D(120,40)); point2Ds.add(new Point2D(100,40));
但是第三个我采用长春市的吉林大学,长春国际会展中心,长春师范大学,吉林大学四个经纬度就绘制不成功了
point2DList.add(new Point2D(125.288776, 43.83281)); point2DList.add(new Point2D(125.400885, 43.842382)); point2DList.add(new Point2D(125.403184, 43.9189)); point2DList.add(new Point2D(125.273253, 43.918069));