workflow地图控件arcgis server的配置说明

workflow地图控件arcgis server的配置说明

地块定位功能写法

var row     = GetObject('tree1').GetSelected();
var xzqdm   = row.text;   //row.id
var mapCtrl = GetObject('map1');
//
//ShowAlert(xzqdm);
var tWhere = "xzqmc= '"+xzqdm+"'";
mapCtrl.locationDK('乡驻地',tWhere,true,1.2);

放大功能写法

var tmapCtrl = GetObject('map1');
if(!tmapCtrl.zoominTool)
{
   tmapCtrl.zoominTool= new mapZoomInClass(tmapCtrl);
   tmapCtrl.mapObj.addTool(tmapCtrl.zoominTool);
}
if(tmapCtrl.zoominTool)
{
    tmapCtrl.zoominTool.onClick();
}

缩小功能写法

var tmapCtrl = GetObject('map1');
if(!tmapCtrl.zoomoutTool)
{
   tmapCtrl.zoomoutTool= new mapZoomOutClass(tmapCtrl);
   tmapCtrl.mapObj.addTool(tmapCtrl.zoomoutTool);
}
if(tmapCtrl.zoomoutTool)
{
    tmapCtrl.zoomoutTool.onClick();
}

平移功能写法

var tmapCtrl = GetObject('map1');
if(!tmapCtrl.panTool)
{
   tmapCtrl.panTool= new mapPanClass(tmapCtrl);
   tmapCtrl.mapObj.addTool(tmapCtrl.panTool);
}
if(tmapCtrl.panTool)
{
    tmapCtrl.panTool.onClick();
}

全屏功能写法

var tmapCtrl = GetObject('map1');
tmapCtrl.fullExtent();
//if(!tmapCtrl.fullExtentTool)
//{
//   tmapCtrl.fullExtentTool= new mapFullExtentClass(tmapCtrl);
//   tmapCtrl.mapObj.addTool(tmapCtrl.fullExtentTool);
//}
//if(tmapCtrl.fullExtentTool)
//{
//    tmapCtrl.fullExtentTool.onClick();
//}

I信息功能写法

var tmapCtrl = GetObject('map1');
if(!tmapCtrl.InfoTool)
{
   tmapCtrl.InfoTool= new mapIdentifyClass(tmapCtrl);
   tmapCtrl.mapObj.addTool(tmapCtrl.InfoTool);
   //tmapCtrl.IdentifyTool.PropertyGrid = new mapPropertyGridClass('custom1',tmapCtrl);
   //tmapCtrl.IdentifyTool.PropertyGrid.init();
}
if(tmapCtrl.InfoTool)
{
    tmapCtrl.InfoTool.onClick();
}

测量长度功能写法

var tmapCtrl = GetObject('map1');
if(!tmapCtrl.measureLengthTool)
{
   tmapCtrl.measureLengthTool= new mapMeasureLengthClass(tmapCtrl);
   tmapCtrl.mapObj.addTool(tmapCtrl.measureLengthTool);
}
if(tmapCtrl.measureLengthTool)
{
    tmapCtrl.measureLengthTool.onClick();
}

测量面积功能写法

var tmapCtrl = GetObject('map1');
if(!tmapCtrl.measureAreaTool)
{
   tmapCtrl.measureAreaTool = new mapMeasureAreaClass(tmapCtrl);
   tmapCtrl.mapObj.addTool(tmapCtrl.measureAreaTool);
}
if(tmapCtrl.measureAreaTool)
{
    tmapCtrl.measureAreaTool.onClick();
}

查询地块功能写法

var tmapCtrl = GetObject('map1');
if(tmapCtrl.handle_querydk)
{
    dojo.disconnect(tmapCtrl.handle_querydk);
}
tmapCtrl.mapObj.clearHandlerALL();
var callback_queryDK=function(backPoint){
    var layerid = tmapCtrl.getLayerID("地块");
    if (layerid == -1) {
        return;
    }
    var symbols = new symbolsClass();
    symbols.init();
    var query                  = new esri.tasks.Query();
    query.outSpatialReference  = tmapCtrl.mapObj.map.spatialReference;  
    backPoint.spatialReference = tmapCtrl.mapObj.map.spatialReference;
    query.geometry             = backPoint;
    query.spatialRelationship  = esri.tasks.Query.SPATIAL_REL_INTERSECTS;
    query.outFields            = ["objectid"];
    query.returnGeometry       = true;
    var queryTask              = new esri.tasks.QueryTask(tmapCtrl.webconfig.mapServerUrl + "/" + layerid);
    queryTask.execute(query,
        function (ds) {
            if (ds.features.length == 0) {
                ShowAlert("查询结果为空!");
                return;
            }
            tmapCtrl.mapObj.clearGraphics("query");
            var dkFeature = ds.features[0];
            graphic = dkFeature;
            graphic.setSymbol(symbols.fillSymbolSelected);
            graphic.type = "query";
            tmapCtrl.mapObj.map.graphics.add(graphic);
            var dkbm = dkFeature.attributes["objectid"];
            if(!dkbm)
            {
                dkbm = dkFeature.attributes["objectid"];
            }
            //ShowAlert(dkbm);
            var dk_cfoid = 'c3a42daf-8028-4dbf-a274-4f2e370def64-572';
            var t_url    = '../WfPages/WfCForm.html?fmode=select&cfoid='+dk_cfoid+'&objectid='+dkbm;
            PopFormSize(t_url, '地块属性信息', 650, 690);
        },
        function (ex) {
            ShowAlert("查询失败,请检查查询条件是否正确!" + ex);
        }
   );
};
tmapCtrl.mapObj.drawTool.activate(esri.toolbars.Draw.POINT);
tmapCtrl.handle_querydk = dojo.connect(tmapCtrl.mapObj.drawTool, "onDrawEnd", callback_queryDK);
tmapCtrl.mapObj.addHandler(tmapCtrl.handle_querydk);
tmapCtrl.mapObj.setMouseCursor_crossStyle();

画点功能写法

var tmapCtrl = GetObject('map1');
if(!tmapCtrl.mapDrawPointTool)
{
   tmapCtrl.mapDrawPointTool = new mapDrawPointClass(tmapCtrl);
   tmapCtrl.mapObj.addTool(tmapCtrl.mapDrawPointTool);
}
if(tmapCtrl.mapDrawPointTool)
{
    tmapCtrl.mapDrawPointTool.onClick();
}

画线功能写法

var tmapCtrl = GetObject('map1');
if(!tmapCtrl.mapDrawLineTool)
{
   tmapCtrl.mapDrawLineTool = new mapDrawLineClass(tmapCtrl);
   tmapCtrl.mapObj.addTool(tmapCtrl.mapDrawLineTool);
}
if(tmapCtrl.mapDrawLineTool)
{
    tmapCtrl.mapDrawLineTool.onClick();
}

画面功能写法

var tmapCtrl = GetObject('map1');
if(!tmapCtrl.mapDrawPolygonTool)
{
   tmapCtrl.mapDrawPolygonTool = new mapDrawPolygonClass(tmapCtrl);
   tmapCtrl.mapObj.addTool(tmapCtrl.mapDrawPolygonTool);
}
if(tmapCtrl.mapDrawPolygonTool)
{
    tmapCtrl.mapDrawPolygonTool.onClick();
}

生成缓冲区写法

var tmapCtrl = GetObject('map1');
if(!tmapCtrl.mapBufferCreateTool)
{
   tmapCtrl.mapBufferCreateTool = new mapBufferCreateClass(tmapCtrl,'txt_bufferRadius');
   tmapCtrl.mapObj.addTool(tmapCtrl.mapBufferCreateTool);
}
if(tmapCtrl.mapBufferCreateTool)
{
    tmapCtrl.mapBufferCreateTool.onClick();
}

清除功能写法

var tmapCtrl = GetObject('map1');
if(!tmapCtrl.mapclearTool)
{
   tmapCtrl.mapclearTool= new mapClearClass(tmapCtrl);
   tmapCtrl.mapObj.addTool(tmapCtrl.mapclearTool);
}
if(tmapCtrl.mapclearTool)
{
    tmapCtrl.mapclearTool.onClick();
}

关键字查询按钮功能一例:

var findValue = GetValue('textbox1');
if (findValue == "") {
    ShowAlert("请设置查询参数!");
    return;
}
var findKey = GetValue('combobox1');
var params  = ConvertParamToJson(self.location.href);
AppendToJson(params, findKey, findValue);
//ShowJsonEq(params);
var tmapCtrl      = GetObject('map1');
if(!tmapCtrl.divWinID)
{
    tmapCtrl.divWinID   = 'divWinID_1';
    tmapCtrl.divWinID_1 = CreateNewDIV(tmapCtrl.divWinID);  
    //窗体化
    var divWinID_1 = $('#' + tmapCtrl.divWinID);
    if (divWinID_1 && divWinID_1[0]) {
        divWinID_1.dialog();
    }
    var tWidth = document.documentElement.clientWidth*0.83;
    divWinID_1.css("display", "block");
    divWinID_1.dialog({
        title:'查询结果',
        content: "<table id='tbResultGrid' class='easyui-datagrid' style='width:100%; height:100%;' data-options='fitColumns:true,singleSelect:true'> </table>",
        top: document.documentElement.clientHeight - 240,
        left: 200,
        height: 240,
        width: tWidth
    });
}
var symbols = new symbolsClass();
symbols.init();
//定位地块
var goLocateDK=function(where,zoom){
        var layerid = tmapCtrl.getLayerID("地块");
        if (layerid == -1) {
            return;
        }    
        var queryTask             = new esri.tasks.QueryTask(tmapCtrl.webconfig.mapServerUrl + "/" + layerid);
        var query                 = new esri.tasks.Query();
        query.outSpatialReference = tmapCtrl.mapObj.map.spatialReference;
        query.outFields           = ["dkbm"];
        query.returnGeometry      = true;
        query.where               = where;
        queryTask.execute(query,
            function (ds) {
                if (ds.features.length == 0) {
                    ShowAlert("查询结果为空!");
                    return;
                }
                tmapCtrl.mapObj.clearGraphics("query");
                var symbol = symbols.fillSymbolSelected;
                var graphic;
                var mapExtent = ds.features[0].geometry.getExtent();
                graphic = ds.features[0];
                graphic.setSymbol(symbol);
                graphic.type = "query";
                tmapCtrl.mapObj.map.graphics.add(graphic);
                for (var idx = 1; idx < ds.features.length; idx++) {
                    graphic = ds.features[idx];
                    graphic.setSymbol(symbol);
                    graphic.type = "query";
                    tmapCtrl.mapObj.map.graphics.add(graphic);
                    mapExtent = mapExtent.union(graphic.geometry.getExtent());
                }
                if (zoom) {
                    tmapCtrl.mapObj.map.setExtent(mapExtent.expand(1.1));
                } else {
                    var pnt = esri.geometry.Point(mapExtent.xmax - mapExtent.xmin, mapExtent.ymax - mapExtent.ymin, tmapCtrl.mapObj.map.spatialReference);
                    tmapCtrl.mapObj.map.setExtent(tmapCtrl.mapObj.map.extent.centerAt(pnt));
                }
            },
            function (ex) {
                ShowAlert("查询失败,请检查查询条件是否正确!" + ex);
            }
        );
};
var url_querydk = 'Services/PageService.asmx/QueryDKInfo';
var fn_success=function (r) {
    if (r.d.Result) {   
        var divWinID_1 = $('#' + tmapCtrl.divWinID);
        divWinID_1.window('open');
        var gridObj = $("#tbResultGrid"); 
        var cols    = new Array();
        for(var i in r.d.SubData){
            cols.push({ field: r.d.SubData[i], title: r.d.SubData[i], halign: 'center' });                           
        }
        gridObj.datagrid({
            columns: [cols],
            onDblClickRow: function (rowIndex, rowData) { 
                goLocateDK("dkbm='" + rowData.地块编码 + "'", true);
            }
        });
        var dt = $.parseJSON(r.d.Data);                      
        if (dt.rows) {
            if (dt.rows.length > 200) {
                $.messager.confirm('查询结果', '查询结果超过200条记录,是否显示?', function (r) {
                    if (r) {
                        gridObj.datagrid('loadData', dt.rows);
                    } else {
                        gridObj.datagrid('loadData', {});
                    }
                });
            } else {
                gridObj.datagrid('loadData', dt.rows);
            }
        } else {
            gridObj.datagrid('loadData', {});
        }
    } else {
        ShowAlert(r.d.Message);
    }
};
var fn_error=function (err_msg) {
      ShowAlert(err_msg.responseText);
};
//
doAjax(url_querydk,params,fn_success,fn_error);
//

种植分析弹出表格写法

var mapCtrl = GetObject('map1');
var symbols = new symbolsClass();
symbols.init();
//获取绘制的几何对象集合
var geojsonInput = '';
    gArray = mapCtrl.mapObj.map.graphics.graphics;  
    for (var i = 0; i < gArray.length; i++) {
        if (gArray[i].geometry.type == 'polygon') {
            geojsonInput = toStringByJsonPolygon(gArray[i].geometry);
            break;
        }
    }
    if(gArray.length<=0 || geojsonInput.length<=0){
        ShowAlert('请先画一个面');
    }
    else{
    api_soe_regionAnalyse(mapCtrl, geojsonInput, "两区地块", function (r) {
        //alert(r.layerID);
        if (r.features && r.features.length > 0) {                
            //加载显示相交的图形
            //ShowAlert(r.features.length);
            var lqlx = '';
            var kv   = {};
            for (var index=0;index<r.features.length;index++) {
                var feat = r.features[index];
                //
                var lqlx = feat.lqlx;
                var mj   = kv[lqlx];
                if(!mj) mj=0;
                kv[lqlx]=mj+feat.cwgisIntersectMJ;
            }
            //ShowJsonEq(kv);
            //创建临时div元素
            mapCtrl.divWinID = null;
            if (!mapCtrl.divWinID) {
                mapCtrl.divWinID   = 'divWinID_a1';
                mapCtrl.divWinID_1 = CreateNewDIV(mapCtrl.divWinID);
                //窗体化
                var divWinID_1 = $('#' + mapCtrl.divWinID);
                if (divWinID_1 && divWinID_1[0]) {
                    divWinID_1.dialog();
                }
                var d_width = document.documentElement.clientWidth * 0.7;
                divWinID_1.css("display", "block");
                divWinID_1.dialog({
                    title: '分析结果',
                    content: "<span id='resultMsg'>面积单位:平方米</span><table id='tbResultGrid' class='easyui-datagrid' style='width:100%; height:90%;' data-options='singleSelect:true'> </table>",
                    top: document.documentElement.clientHeight - 240,
                    left: 200,
                    height: 240,
                    width: d_width
                });
            }
             //显示统计表格
            var divWinID_1 = $('#' + mapCtrl.divWinID);
            divWinID_1.window('open');
            var gridObj = $("#tbResultGrid");        
            //------ 
            //初始化表格列头
            var cols = new Array();
            cols.push({ field: "lqlx", title: "种植类型", align: 'center', valign: 'center', width: 200 });
            cols.push({ field: "mj", title: "种植面积", align: 'center', valign: 'center', width: 200 });    
            gridObj.datagrid({
                columns: [cols]
            });
            //加载显示分析后的表格数据
            gridObj.datagrid('loadData', []);
            //ShowJsonEq(kv);
            for (var t_k in kv) {
                var row = {};
                if(t_k=='11') row["lqlx"] ='水稻';
                if(t_k=='12') row["lqlx"] ='小麦';
                if(t_k=='13') row["lqlx"] ='水稻和小麦';
                if(t_k=='14') row["lqlx"] ='玉米';
                if(t_k=='15') row["lqlx"] ='小麦和玉米';
                //
                if(t_k=='21') row["lqlx"] ='大豆';
                if(t_k=='22') row["lqlx"] ='小麦和大豆';
                if(t_k=='23') row["lqlx"] ='棉花';
                if(t_k=='24') row["lqlx"] ='油菜籽';
                if(t_k=='25') row["lqlx"] ='水稻和油菜籽';
                if(t_k=='26') row["lqlx"] ='糖料蔗';
                if(t_k=='27') row["lqlx"] ='天然橡胶';
                //
                row["mj"] = toRound(kv[t_k],2);
                
                //ShowJsonEq(row);
                gridObj.datagrid('appendRow', row);
            }
            
            //两区种植情况分析结果表单
            //var t_cfoid = '48719946-b99a-4c9d-8996-7709dbe8b293-mab';
            //var t_url = 'WfCForm.html?fmode=update&cfoid=' + t_cfoid;
            //t_url += '&lqdkdm=' + v;
            //ShowAlert(t_url);
            //PopFormSize(t_url, '种植情况分析结果', 650, 690, function () { });
        }
        else ShowAlert('未选中两区地块');
    });
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值