WebGIS 7 创建.删除.更新点要素的属性

1. 加载地图

1) 加载底图
        var map, layer;
        function init() {
//            添加地图容器
            map = new OpenLayers.Map("map1", {
                controls: [
                    new OpenLayers.Control.MousePosition(),//此控件显示鼠标移动时,所在点的地理坐标
                    new OpenLayers.Control.LayerSwitcher(),//图层切换控件
                    new OpenLayers.Control.Navigation()//此控件处理伴随鼠标事件的地图浏览
                ]
            });
//              添加矢量图层
            layer = new Zondy.Map.Layer("MDZZ",
//                    传入矢量地图的url参数
                    ["gdbp://MapGisLocal/OpenLayerVecterMap/ds/世界地图经纬度/sfcls/主要城市"],
                    {
                        ip: "127.0.0.1",//ip
                        port: "6163",//端口
                        isBaseLayer: true //设为基础图层 !此项不写地图无法加载
                    });
//            将图层添加到地图容器中
            map.addLayer(layer);
            
            map.setCenter(new OpenLayers.LonLat(0, 0), 1);
        }

2.添加 删除 更新 点

一.点添加:

1.构建一个要素

几何信息
                var fGeom = new Zondy.Object.FeatureGeometry({PntGeom: [gPoint]});
图形信息
                var webGraphicInfo = new Zondy.Object.WebGraphicsInfo({
                                InfoType: 1, //图形参数为点类型 1为点,2为线,3为区
                                PntInfo: pointInfo //传入点的符号参数信息(Zondy.Object.CPointInfo)
                            });
属性信息
                var attValue = ['湖蓝', 'CHINA', 1.0];
创建点要素
                var feature = new Zondy.Object.Feature({
                                fGeom: fGeom,               //传入几何信息
                                GraphicInfo: webGraphicInfo,//传入图形信息
                                AttValue: attValue          //传入属性信息
                            });

2.设置要素为点要素

                feature.setFType(1);//设置要素为点要素  1为点,2为线,3为区              

3.

创建一个要素数据集
            var featureSet = new Zondy.Object.FeatureSet();                          
设置属性结构(可在前面定义)
             var attStruct = new Zondy.Object.CAttStruct({
                             FldName: ["Cname", "CNTRY_NAME", "POPULATION"],//属性名
                             FldNumber: 3,                                  //属性数量
                             FldType: ["string", "string", "double"]        // 属性类型数组
                          });                                      
将设置的属性结构赋给要素数据集
            featureSet.AttStruct = attStruct;                              
添加要素到数据集中
            featureSet.addFeature(feature);                                       

4.

创建一个编辑服务对象
            var editService = new Zondy.Service.EditLayerFeature("gdbp://MapGisLocal/OpenLayerVecterMap/ds/世界地图经纬度/sfcls/主要城市",
                    {
                        ip: "127.0.0.1", //服务器ip
                        port: "6163"       //端口
                    });                              
将要素集添加到图层中并执行回调函数
             editService.add(featureSet, onSuccess);                   

5.回调函数提示用户是否添加成功

         function onSuccess(result) {
 //            如果添加成功则返回结果
             if(result){
                 alert("添加成功");//弹窗提示
 //                刷新地图
                 map.baseLayer.redraw(true);
             }else{
                 alert("添加失败");//弹窗提示
             }
         }                             

二.点删除

根据IOD删除,直接创建编辑服务类.调用deletes(OID,onSuccess)方法删除

       function delPoint() {

//            添加要删除的点的OID 数组形式删除一组点
//            var featureIds=[599,600,601];

//            添加要删除的点的OID 字符串形式删除一组点
//            var featureIds="599,600,601";

//            添加要删除的点的OID
            var featureIds = 602;
//            创建一个编辑服务类
            var delService = new Zondy.Service.EditLayerFeature("gdbp://MapGisLocal/OpenLayerVecterMap/ds/世界地图经纬度/sfcls/主要城市", {
                ip: "127.0.0.1",//服务器ip
                port: "6163"    //端口
            });
//          将要素集从图层中删除并执行回调函数
            delService.deletes(featureIds, onSuccess);
        }

三.点更新

构建要素的过程与点添加相同, 两行代码不同.
需要设置被更新点的OID

//          设置要素为点要素  1为点,2为线,3为区
            newFeature.setFType(1);

             
//           设置需要更新点的OID
            newFeature.setFID(602);


//           创建一个要素集
            var featureSet = new Zondy.Object.FeatureSet();

在创建编辑服务类后执行update(要素数据集,回调函数)

//            创建编辑服务类
            var editService = new Zondy.Service.EditLayerFeature("gdbp://MapGisLocal/OpenLayerVecterMap/ds/世界地图经纬度/sfcls/主要城市",
                    {
                        ip: "127.0.0.1",//服务器ip
                        port: "6163"     //端口
                    });

//          更新要素集信息中并执行回调函数
            editService.update(featureSet,onSuccess);
        }

3.代码

1.添加点




    
    添加点要素
    
    
    
    
    



2.删除点




    
    Title
    
    
    
    
    




00

3.更新点




    
    Title
    
    
    
    
    




4.效果

添加点-before

WebGIS 7 创建.删除.更新点要素的属性_第1张图片
Paste_Image.png

添加点-after

WebGIS 7 创建.删除.更新点要素的属性_第2张图片
Paste_Image.png
WebGIS 7 创建.删除.更新点要素的属性_第3张图片
Paste_Image.png

删除点

WebGIS 7 创建.删除.更新点要素的属性_第4张图片
Paste_Image.png
WebGIS 7 创建.删除.更新点要素的属性_第5张图片
Paste_Image.png

更新点before

WebGIS 7 创建.删除.更新点要素的属性_第6张图片
Paste_Image.png

更新点after

WebGIS 7 创建.删除.更新点要素的属性_第7张图片
Paste_Image.png
WebGIS 7 创建.删除.更新点要素的属性_第8张图片
Paste_Image.png

你可能感兴趣的:(WebGIS 7 创建.删除.更新点要素的属性)