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('未选中两区地块');
});
}