首先配置好Arcgis For JavaScript SDK,然后参照Arcgis For Javascript 官网完成相关功能,一张图管理(编辑,查询,定位)
一、前端
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=7,IE=8,IE=9,IE=10,IE=11,IE=EDGE" />
<title>地图</title>
<script src="../../Scripts/jquery/jquery.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery/jquery.easyui.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
<script src="../../Scripts/CommonUnite.js" type="text/javascript"></script>
<link href="../../Scripts/jquery/themes/icon.css" rel="stylesheet" type="text/css" />
<link href="../../Scripts/jquery/themes/default/easyui.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.zoominIcon
{
border:0px;
background-image: url(../../GIS/Images/Toolbar/zoomin_1.jpg);
width: 40px;
height: 35px;
}
.zoomoutIcon
{
border:0px;
background-image: url(../../GIS/Images/Toolbar/zoomout_1.jpg);
width: 40px;
height: 35px;
}
.zoomfullextIcon
{
border:0px;
background-image: url(../../GIS/Images/Toolbar/fullextent_1.jpg);
width: 40px;
height: 35px;
}
.zoomprevIcon
{
border:0px;
background-image: url(../../GIS/Images/Toolbar/back_1.jpg);
width: 40px;
height: 35px;
}
.zoomnextIcon
{
border:0px;
background-image: url(../../GIS/Images/Toolbar/forward_1.jpg);
width: 40px;
height: 35px;
}
.panIcon
{
border:0px;
background-image: url(../../GIS/Images/Toolbar/pan_1.jpg);
width: 40px;
height: 35px;
}
.deactivateIcon
{
border:0px;
background-image: url(../../GIS/Images/Toolbar/clear.png);
width: 40px;
height: 35px;
}
#map
{
border: solid 2px #808775;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
margin: 5px;
padding: 0px;
}
#titlePane
{
width: 240px;
}
.claro .dijitTitlePaneTitle
{
background: #fff;
font-weight: 600;
border: none;
border-bottom: solid 1px #29201A;
border-top: solid 1px #29201A;
}
.claro .dijitTitlePaneTitleHover
{
background: #eee;
}
.claro .dijitTitlePaneTitleActive
{
background: #808775;
}
.claro .dijitTitlePaneContentOuter
{
border-right: none;
border-bottom: none;
border-left: none;
}
</style>
<script type="text/javascript">
dojoConfig = {
parseOnLoad: true
};
</script>
<script src="http://localhost:8088/arcgis_js_api/library/3.9/3.9/init.js" type="text/javascript"></script>
<script src="http://localhost:8088/arcgis_js_api/library/3.9/3.9/js/dojo/dojo/dojo.js"
type="text/javascript"></script>
<script src="http://localhost:8088/arcgis_js_api/library/3.9/3.9/js/dojo/dijit/dijit.js"
type="text/javascript"></script>
<link href="http://localhost:8088/arcgis_js_api/library/3.9/3.9/js/esri/css/esri.css"
rel="stylesheet" type="text/css" />
<link href="http://localhost:8088/arcgis_js_api/library/3.9/3.9/js/dojo/dijit/themes/dijit.css"
rel="stylesheet" type="text/css" />
<link href="http://localhost:8088/arcgis_js_api/library/3.9/3.9/js/dojo/dijit/themes/claro/claro.css"
rel="stylesheet" type="text/css" />
<link href="http://localhost:8088/arcgis_js_api/library/3.9/3.9/js/dojo/dijit/themes/tundra/tundra.css"
rel="stylesheet" type="text/css" />
<script src="../../GIS/dojo/jsapi_vsdoc10_v38.js" type="text/javascript"></script>
<script type="text/javascript" charset="utf-8">
dojo.require("esri.map");
dojo.require("esri.dijit.Scalebar");
dojo.require("esri.toolbars.draw");
dojo.require("esri.tasks.geometry");
dojo.require("esri.graphic");
dojo.require("esri.layers.GraphicsLayer");
dojo.require("esri.symbols.SimpleFillSymbol");
dojo.require("esri.symbols.SimpleLineSymbol");
dojo.require("esri.tasks.GeometryService");
dojo.require("esri.tasks.ProjectParameters");
dojo.require("esri.layers.FeatureLayer");
dojo.require("esri.geometry.Polygon");
dojo.require("esri.SpatialReference");
dojo.require("esri.tasks.query");
var YWBH = "<%=this.YWBH %>";
var E = "<%=this.E %>";
var N = "<%=this.N %>";
//地图测量
var Measurement = dojo.require("esri/dijit/Measurement");
var FeatureLayer = dojo.require("esri/layers/FeatureLayer");
var SimpleRenderer = dojo.require("esri/renderers/SimpleRenderer");
var SnappingManager = dojo.require("esri/SnappingManager");
var GeometryService = dojo.require("esri/tasks/GeometryService");
var SimpleLineSymbol = dojo.require("esri/symbols/SimpleLineSymbol");
var SimpleFillSymbol = dojo.require("esri/symbols/SimpleFillSymbol");
var dom = dojo.require("dojo/dom");
var Color = dojo.require("esri/Color");
var keys = dojo.require("dojo/keys");
var parser = dojo.require("dojo/parser");
var esriConfig = dojo.require("esri/config");
var has = dojo.require("esri/sniff");
var registry = dojo.require("dijit/registry");
var Navigation = dojo.require("esri.toolbars.navigation");
//查询
var IdentifyTask = dojo.require("esri/tasks/IdentifyTask");
var IdentifyParameters = dojo.require("esri/tasks/IdentifyParameters");
var domConstruct = dojo.require("dojo/dom-construct");
var arrayUtils = dojo.require("dojo/_base/array");
var Color = dojo.require("esri/Color");
var InfoTemplate = dojo.require("esri/InfoTemplate")
dojo.require("dojo/domReady!");
var layer, kqzb, navToolbar, map, myExtent, visible = [];
var symbol, queryTask, query, infoTemplate, featureSet;
var Map;
var GeometryServer = "<%=geometryserver%>"; //geometry服务
var CQMap = "<%=mapserver0%>"; //重庆地图服务
var TDFK_ZB = "<%=mapserver1%>"; //要素地图服务
var FeatureServer0 = "<%=featureserver0%>"; //阶段坐标服务
var FeatureServer1 = "<%=featureserver1%>"; //复垦范围坐标服务
var FeatureServer2 = "<%=featureserver2%>"; //矿区坐标服务
function init() {
myExtent = new esri.geometry.Extent(105.2872069, 28.164134175999997, 110.19040690000001, 32.212034176, new esri.SpatialReference({ "wkid": 4610 }));
map = esri.Map("map", { nav: true, extent: myExtent });
//工具栏加载
esriConfig.defaults.map.sliderLabel = null;
navToolbar = new esri.toolbars.Navigation(map);
dojo.connect(navToolbar, "onExtentHistoryChange", extentHistoryChangeHandler);
registry.byId("zoomin").on("click", function () {
navToolbar.activate(Navigation.ZOOM_IN);
});
registry.byId("zoomout").on("click", function () {
navToolbar.activate(Navigation.ZOOM_OUT);
});
registry.byId("zoomfullext").on("click", function () {
navToolbar.zoomToFullExtent();
});
registry.byId("zoomprev").on("click", function () {
navToolbar.zoomToPrevExtent();
});
registry.byId("zoomnext").on("click", function () {
navToolbar.zoomToNextExtent();
});
registry.byId("pan").on("click", function () {
navToolbar.activate(Navigation.PAN);
});
registry.byId("deactivate").on("click", function () {
navToolbar.deactivate();
});
// registry.byId("identify").on("click", mapReady);
//拖动地图 坐标变动
dojo.connect(map, "onLoad", function () {
dojo.connect(map, "onMouseMove", showCoordinates);
dojo.connect(map, "onMouseDrag", showCoordinates);
});
dojo.connect(map, 'onLoad', function (map) {
var scalebar = new esri.dijit.Scalebar({
map: map,
attachTo: "bottom-left"
}, dojo.byId("scaleBarDiv"));
});
//加载地图
layer1 = new esri.layers.ArcGISDynamicMapServiceLayer(CQMap, { "opacity": 0.85 });
map.addLayer(layer1);
layer = new esri.layers.ArcGISDynamicMapServiceLayer(TDFK_ZB);
/***********加载图层************/
if (layer.loaded) {
buildLayerList(layer);
} else {
dojo.connect(layer, "onLoad", buildLayerList);
}
/*************定位*********/
map.on("load", function () {
if (YWBH != null && YWBH != "") {
var position = new esri.geometry.Point(E, N, new esri.SpatialReference({ "wkid": 4610 }));
map.centerAndZoom(position, 0.01);
}
});
/********测量********/
doMesure();
/************查询**************/
mapReady();
}
/********加载区块图层*********/
//加载矿区坐标图层
var val, ZBStr, oid, xmmc, ywbh, xmlx, xmjb, ywr, xzqh, fabzdw;
function getTDFKPoints() {
var geometryService = GeometryServer;
var featureLayer;
//矿区坐标图层
$.post("Welcome.aspx?p=1&rdm=" + Math.random(), function (data) {
if (data == "Y") {
getTDFKPoints(); //再次执行请求
}
if (data != "") {
val = data.split(';');
ZBStr = val[0];
oid = val[1];
xmmc = val[2];
ywbh = val[3];
xmlx = val[4];
xmjb = val[5];
ywr = val[6];
xzqh = val[7];
fabzdw = val[8];
featureLayer = FeatureServer2;
getKQZBLayer(ZBStr, oid, xmmc, ywbh, xmlx, xmjb, ywr, xzqh, fabzdw, geometryService, featureLayer);
}
if (data == "") {
getFKFWFKPoints(); //加载复垦范围数据
}
});
}
function getFKFWFKPoints() {
//复垦范围坐标图层
var geometryService = GeometryServer;
var featureLayer;
$.post("Welcome.aspx?p=3&rdm=" + Math.random(), function (data) {
if (data == "Y") {
getTDFKPoints(); //再次执行请求
}
if (data != "") {
val = data.split(';');
ZBStr = val[0];
oid = val[1];
fkfwmc = val[2];
ywbh = val[3];
xmlx = val[4];
xmjb = val[5];
ywr = val[6];
xzqh = val[7];
fabzdw = val[8];
featureLayer = FeatureServer1;
getKQZBLayer(ZBStr, oid, fkfwmc, ywbh, xmlx, xmjb, ywr, xzqh, fabzdw, geometryService, featureLayer);
}
if (data == "") {
getJDFKPoints(); //加载阶段数据
}
});
}
function getJDFKPoints() {
//阶段坐标图层
var geometryService = GeometryServer;
var featureLayer;
$.post("Welcome.aspx?p=2&rdm=" + Math.random(), function (data) {
if (data == "Y") {
getTDFKPoints(); //再次执行请求
}
if (data != "") {
val = data.split(';');
ZBStr = val[0];
oid = val[1];
dk = val[2];
ywbh = val[3];
xmlx = val[4];
xmjb = val[5];
ywr = val[6];
xzqh = val[7];
fabzdw = val[8];
featureLayer = FeatureServer0;
getKQZBLayer(ZBStr, oid, dk, ywbh, xmlx, xmjb, ywr, xzqh, fabzdw, geometryService, featureLayer);
}
if (data == "") {
}
});
}
//加载坐标图层
function getKQZBLayer(val, oidNew, xmmcNew, ywbhNew, xmlxNew, xmjbNew, ywrNew, xzqhNew, fabzdwNew, geometryService, featureLayer) {
var geoService = new esri.tasks.GeometryService(geometryService);
var incoord; //输入坐标系 (var incoord = 2359;35度带的西安80||var incoord36 = 2360;36度带的西安80)
var outcoord = 4610; //目标坐标系(地理坐标西安80)
var zb = val.split(",");
var zbstr = zb[0].slice(0, 3);
if (zbstr == "[35") { incoord = 2359; }
else if (zbstr == "[36") { incoord = 2360; }
var inSR = new esri.SpatialReference({ wkid: incoord });
var outSR = new esri.SpatialReference({ wkid: outcoord });
var json = eval('(' + "[[" + val + "]]" + ')');
var a = new esri.geometry.Polygon({
"rings": json,
"spatialReference": inSR
});
var x = a.rings[0][0][0];
var y = a.rings[0][0][1];
var PrjParams = new esri.tasks.ProjectParameters();
PrjParams.geometries = [a];
PrjParams.outSR = outSR;
var graphic;
geoService.project(PrjParams, function (b) {
var d = new esri.geometry.Polygon(b[0], PrjParams.outSR);
var symbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID,
new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASHDOT,
new dojo.Color([255, 0, 0]), 2),
new dojo.Color([255, 255, 0, 0.25]));
var attributes = {
"X": x,
"Y": y,
"E": d.rings[0][0][0],
"N": d.rings[0][0][1],
"WorkID": oidNew,
"XMMC": xmmcNew,
"YWBH": ywbhNew,
"XMLX": xmlxNew,
"XMJB": xmjbNew,
"YWR": ywrNew,
"XZQH": xzqhNew,
"FABZDW": fabzdwNew
};
graphic = new esri.Graphic(d, symbol, attributes);
var fealayer = new esri.layers.FeatureLayer(featureLayer);
var zb = [];
zb.push(graphic);
fealayer.applyEdits(zb, null, null, function (data) {
getTDFKPoints();
fealayer.clearSelection();
}, function (err) { alert(err); });
});
}
/*********图层控制*********/
//获取子节点
function getChildrenNodes(parentnodes, node) {
for (var i = parentnodes.length - 1; i >= 0; i--) {
var pnode = parentnodes[i];
//如果是父子关系,为父节点增加子节点,退出for循环
if (pnode.id == node.pid) {
pnode.state = "closed"; //关闭二级树
pnode.children.push(node);
return;
} else {
//如果不是父子关系,删除父节点栈里当前的节点,
//继续此次循环,直到确定父子关系或不存在退出for循环
parentnodes.pop();
}
}
}
function buildLayerList(layer) {
//构建图层树形结构
var layerinfos = layer.layerInfos;
var treeList = []; //jquery-easyui的tree用到的tree_data.json数组
var parentnodes = []; //保存所有的父亲节点
var root = { "id": "rootnode", "text": "所有图层", "children": [] }; //增加一个根节点
var node = {};
if (layerinfos != null && layerinfos.length > 0) {
for (var i = 0, j = layerinfos.length; i < j; i++) {
var info = layerinfos[i];
if (info.defaultVisibility) {
visible.push(info.id);
}
//node为tree用到的json数据
node = {
"id": info.id,
"text": info.name,
"pid": info.parentLayerId,
"checked": info.defaultVisibility ? true : false,
"children": []
};
if (info.parentLayerId == -1) {
parentnodes.push(node);
root.children.push(node);
} else {
getChildrenNodes(parentnodes, node);
parentnodes.push(node);
}
}
}
treeList.push(root);
//jquery-easyui的树
$('#toc').tree({
data: treeList,
checkbox: true, //使节点增加选择框
onCheck: function (node, checked) { //更新显示选择的图层
var visible = [];
var nodes = $('#toc').tree("getChecked");
dojo.forEach(nodes, function (node) {
visible.push(node.id);
});
if (visible.length === 0) {
visible.push(-1);
}
layer.setVisibleLayers(visible);
}
});
layer.setVisibleLayers(visible);
map.addLayer(layer);
getTDFKPoints();
}
/************工具管理*************/
//当地图视图发生变化时后判定前一视图和后一视图的状态
function extentHistoryChangeHandler() {
if (registry.byId("zoomprev") != undefined && registry.byId("zoomnext") != undefined) {
registry.byId("zoomprev").disabled = navToolbar.isFirstExtent();
registry.byId("zoomnext").disabled = navToolbar.isLastExtent();
}
}
//显示左下角坐标
function showCoordinates(evt) {
//获取坐标点
var mp = evt.mapPoint;
//display mouse coordinates
dojo.byId("info").innerHTML = "经度:" + mp.x.toFixed(4) + ",  纬度:" + mp.y.toFixed(4);
}
/***********测量**********/
function doMesure() {
try {
// var cx = dojo.connect(map, "onClick", executeIdentifyTask);
// dojo.disconnect(cx);
parser.parse();
//This sample may require a proxy page to handle communications with the ArcGIS Server services. You will need to
//replace the url below with the location of a proxy on your machine. See the 'Using the proxy page' help topic
//for details on setting up a proxy page.
esriConfig.defaults.io.proxyUrl = "../../../proxy.ashx";
esriConfig.defaults.io.alwaysUseProxy = false;
//This service is for development and testing purposes only. We recommend that you create your own geometry service for use within your applications
esriConfig.defaults.geometryService = new GeometryService(GeometryServer);
var sfs = new SimpleFillSymbol("solid", new SimpleLineSymbol("solid", new Color([195, 176, 23]), 2), null);
var parcelsLayer = new esri.layers.FeatureLayer(TDFK_ZB,
{
mode: esri.layers.FeatureLayer.MODE_ONDEMAND,
outFields: ["*"]
});
parcelsLayer.setRenderer(new SimpleRenderer(sfs));
map.addLayers([parcelsLayer]);
//dojo.keys.copyKey maps to CTRL on windows and Cmd on Mac., but has wrong code for Chrome on Mac
var snapManager = map.enableSnapping({
snapKey: has("mac") ? keys.META : keys.CTRL
});
var layerInfos = [{
layer: parcelsLayer
}];
snapManager.setLayerInfos(layerInfos);
var measurement = new esri.dijit.Measurement({
map: map
}, dom.byId("measurementDiv"));
measurement.startup();
// $("#dijit_form_ToggleButton_0").bind("click", measureStart); //开始测量
// $("#dijit_form_ToggleButton_1").bind("click", measureStart); //开始测量
// $("#dijit_form_ToggleButton_2").bind("click", measureStart); //开始测量
// measurement.on("measure-end", measureEnd); //测量结束
} catch (e) {
// alert(e + "");
}
}
function measureStart(evt) {
alert($("#dijit_form_ToggleButton_0").attr("aria-pressed"));
if ($("#dijit_form_ToggleButton_0").attr("aria-pressed")=="false") {
dojo.disconnect(mapExecuteIdentifyTaskHandle);
} else {
mapReady();
}
}
function measureEnd() {
mapReady();
}
var mapExecuteIdentifyTaskHandle = null;
/***********查询**********/
function mapReady() {
// document.getElementById("map").addEventListener("click", executeIdentifyTask);
//create identify tasks and setup parameters
// map.on("click", executeIdentifyTask);
mapExecuteIdentifyTaskHandle = dojo.connect(map, "onClick", executeIdentifyTask);
identifyTask = new esri.tasks.IdentifyTask(TDFK_ZB);
identifyParams = new esri.tasks.IdentifyParameters();
identifyParams.tolerance = 3;
identifyParams.returnGeometry = true;
identifyParams.layerIds = [0, 1, 2];
identifyParams.layerOption = IdentifyParameters.LAYER_OPTION_ALL;
identifyParams.width = map.width;
identifyParams.height = map.height;
}
function executeIdentifyTask(event) {
identifyParams.geometry = event.mapPoint;
identifyParams.mapExtent = map.extent;
var deferred = identifyTask
.execute(identifyParams)
.addCallback(function (response) {
return arrayUtils.map(response, function (result) {
var feature = result.feature;
var layerName = result.layerName;
feature.attributes.layerName = layerName;
if (layerName === "阶段坐标") {
var taxParcelTemplate = new esri.InfoTemplate("阶段坐标详情",
"项目名称:${XMMC}<br />业务编号 : ${YWBH}<br />项目类型 : ${XMLX}<br />项目级别 : ${XMJB}<br />复垦义务人 : ${YWR}<br />所在行政区 : ${XZQH}<br />方案编制单位 : ${FABZDW}<br />E : ${E}<br />N : ${N}<br/>填表日期 : ${RDT}");
feature.setInfoTemplate(taxParcelTemplate);
}
if (layerName === "复垦范围坐标") {
console.log(feature.attributes.PARCELID);
var buildingFootprintTemplate = new esri.InfoTemplate("复垦范围坐标详情",
"项目名称:${XMMC}<br />业务编号 : ${YWBH}<br />项目类型 : ${XMLX}<br />项目级别 : ${XMJB}<br />复垦义务人 : ${YWR}<br />所在行政区 : ${XZQH}<br />方案编制单位 : ${FABZDW}<br />E : ${E}<br />N : ${N}<br/>填表日期 : ${RDT}");
feature.setInfoTemplate(buildingFootprintTemplate);
}
if (layerName === "矿区坐标") {
console.log(feature.attributes.PARCELID);
var buildingFootprintTemplate = new esri.InfoTemplate("矿区坐标详情",
"项目名称:${XMMC}<br />业务编号 : ${YWBH}<br />项目类型 : ${XMLX}<br />项目级别 : ${XMJB}<br />复垦义务人 : ${YWR}<br />所在行政区 : ${XZQH}<br />方案编制单位 : ${FABZDW}<br />E : ${E}<br />N : ${N}<br/>填表日期 : ${RDT}");
feature.setInfoTemplate(buildingFootprintTemplate);
}
map.infoWindow.show(event.mapPoint);
return feature;
});
});
map.infoWindow.setFeatures([deferred]);
}
dojo.addOnLoad(init);
/************地图定位************/
function MapPosition() {
var x = encodeURI(document.getElementById("X").value);
var y = encodeURI(document.getElementById("Y").value);
if (x == "" || y == "") {
alert("请输入经纬度 !");
return;
}
var position = new esri.geometry.Point(x, y, new esri.SpatialReference({ "wkid": 4610 }));
map.centerAndZoom(position, 0.01);
}
</script>
</head>
<body class="easyui-layout" id="body1">
<form id="form1" runat="server">
<div data-options="region:'west',collapsed:true,split:true,title:'地图导航'" style="padding: 5px;
background: #eee; width: 250px;">
<ul id="toc" class="easyui-tree">
</ul>
</div>
<div data-options="region:'center'" style="padding: 5px; background: #eee; width: 250px;">
<div id="navToolbar" data-dojo-type="dijit/Toolbar">
<div data-dojo-type="dijit/form/Button" id="zoomin" data-dojo-props="iconClass:'zoominIcon'" style=" border:0px"></div>
<div data-dojo-type="dijit/form/Button" id="zoomout" data-dojo-props="iconClass:'zoomoutIcon'" style=" border:0px"></div>
<div data-dojo-type="dijit/form/Button" id="zoomfullext" data-dojo-props="iconClass:'zoomfullextIcon'" style=" border:0px"></div>
<div data-dojo-type="dijit/form/Button" id="zoomprev" data-dojo-props="iconClass:'zoomprevIcon'" style=" border:0px"></div>
<div data-dojo-type="dijit/form/Button" id="zoomnext" data-dojo-props="iconClass:'zoomnextIcon'" style=" border:0px"></div>
<div data-dojo-type="dijit/form/Button" id="pan" data-dojo-props="iconClass:'panIcon'" style=" border:0px"></div>
<div data-dojo-type="dijit/form/Button" id="deactivate" data-dojo-props="iconClass:'deactivateIcon'" style=" border:0px"></div>
<span>经度:<asp:TextBox runat="server" ID="X"></asp:TextBox> 纬度:<asp:TextBox
runat="server" ID="Y"></asp:TextBox>
<input type="button" id="btnPosition" οnclick="MapPosition()" value="定位" />
</span>
</div>
<%-- <center>--%>
<div id="map" class="claro" style="width: 1600px; height: 600px; position:relative; margin:0 auto; border: 0px solid #000;">
<%-- <div style="position: absolute; right: 20px; top: 30px; z-index: 999;">
<div id="titlePane" data-dojo-type="dijit/TitlePane" align="left" data-dojo-props="title:'测量', closable:false, open:false">
<div id="measurementDiv">
</div>
<span style="font-size: smaller; padding: 5px 5px;">按住 <b>CTRL</b>键可捕捉地图</span>
</div>
</div>--%>
<span id="scaleBarDiv" style="position: absolute; left: 25px; bottom: 30px;"></span>
<span id="info" style="position: absolute; right: 50px; bottom: 5px; color: #000;
z-index: 50;"></span>
</div>
<%--</center>--%>
</div>
</form>
</body>
</html>
二、后台
protected void Page_Load(object sender, EventArgs e)
{
string p = this.Request["p"] + "";
string rmd = this.Request["rdm"] + "";
if (p == "1") { getTDFK(); }
if (p == "2") { getTDJDFK(); }
if (p == "3") { getTDFKFW(); }
}
public string geometryserver = BP.Sys.SystemConfig.AppSettings["geoServer"];
public string mapserver0 = BP.Sys.SystemConfig.AppSettings["mapServer0"];
public string mapserver1 = BP.Sys.SystemConfig.AppSettings["mapServer1"];
public string featureserver0 = BP.Sys.SystemConfig.AppSettings["featureServer0"];
public string featureserver1 = BP.Sys.SystemConfig.AppSettings["featureServer1"];
public string featureserver2 = BP.Sys.SystemConfig.AppSettings["featureServer2"];
标识编号(workID:矿区坐标图层)
//public string WorkID
//{
// get
// {
// string KQSql = "SELECT top(1)* FROM XMWZXXBGDDtl1 WHERE OID NOT IN (SELECT WORKID FROM ZB_KQZB)";
// System.Data.DataTable dt = BP.DA.DBAccess.RunSQLReturnTable(KQSql);
// string workID = "";
// foreach (DataRow dr in dt.Rows)
// {
// workID += dr["OID"] + ";";
// }
// string reworkID = (workID.Length > 0) ? workID.Remove(workID.Length - 1, 1) : workID;
// return reworkID;
// }
//}
/// <summary>
/// 土地复垦范围
/// </summary>
public void getTDFKFW()
{
Response.Clear();
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "text/plain";
string sql = "SELECT top(1)* FROM XMWZXXBGDDtl2 WHERE OID NOT IN (SELECT WORKID FROM ZB_FKFWZB)";
System.Data.DataTable dt = BP.DA.DBAccess.RunSQLReturnTable(sql);
if (dt.Rows.Count <= 0)
{
Response.Write("");
}
else
{
string sqlcount = "select * from ZB_FKFWZB where WorkID='" + dt.Rows[0]["OID"] + "'";
System.Data.DataTable tablecount = BP.DA.DBAccess.RunSQLReturnTable(sqlcount);
if (tablecount.Rows.Count > 0)
{
//存在
Response.Write("Y");
}
else
{
string kqzb = "";
string workid = "";
string fkfwmc = "";
string result = "";
foreach (DataRow dr in dt.Rows)
{
string zbAll = "";
workid = dr["OID"].ToString();
fkfwmc = dr["FKFWMC"].ToString();
fkfwmc = fkfwmc.Replace(Environment.NewLine, "");//去掉换行符
kqzb = dr["FKFWZB"].ToString();
string[] zbStr = kqzb.Split(';');
for (int i = 0; i < zbStr.Length; i++)
{
zbAll += "[" + zbStr[i] + "],";
}
zbAll = (zbAll.Length > 0) ? zbAll.Remove(zbAll.Length - 1, 1) : zbAll;//去掉最后一个逗号
//zbAll += "(";//将多个面数据用括号隔开
result = zbAll;
}
result = result.Replace(Environment.NewLine, "");//去掉换行符
//result = (result.Length > 0) ? result.Remove(result.Length - 1, 1) : result;//去掉最后一个括号
if (dt.Rows.Count <= 0)
{
Response.Write("");
}
else
{
Response.Write(result + ";" + workid+";"+fkfwmc);
}
}
}
Response.End();
}
/// <summary>
/// 阶段复垦
/// </summary>
public void getTDJDFK()
{
Response.Clear();
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "text/plain";
string sql = "SELECT top(1)* FROM XMWZXXBGDDtl3 WHERE OID NOT IN (SELECT WORKID FROM ZB_JDZB)";
System.Data.DataTable dt = BP.DA.DBAccess.RunSQLReturnTable(sql);
if (dt.Rows.Count <= 0)
{
Response.Write("");
}
else
{
string sqlcount = "select * from zb_jdzb where WorkID='" + dt.Rows[0]["OID"] + "'";
System.Data.DataTable tablecount = BP.DA.DBAccess.RunSQLReturnTable(sqlcount);
if (tablecount.Rows.Count > 0)
{
//存在
Response.Write("Y");
}
else
{
string kqzb = "";
string workid = "";
string dk = "";
string result = "";
foreach (DataRow dr in dt.Rows)
{
string zbAll = "";
workid = dr["OID"].ToString();
dk = dr["DK"].ToString();
dk = dk.Replace(Environment.NewLine, "");//去掉换行符
kqzb = dr["JDZB"].ToString();
string[] zbStr = kqzb.Split(';');
for (int i = 0; i < zbStr.Length; i++)
{
zbAll += "[" + zbStr[i] + "],";
}
zbAll = (zbAll.Length > 0) ? zbAll.Remove(zbAll.Length - 1, 1) : zbAll;//去掉最后一个逗号
//zbAll += "(";//将多个面数据用括号隔开
result = zbAll;
}
result = result.Replace(Environment.NewLine, "");//去掉换行符
//result = (result.Length > 0) ? result.Remove(result.Length - 1, 1) : result;//去掉最后一个括号
if (dt.Rows.Count <= 0)
{
Response.Write("");
}
else
{
Response.Write(result + ";" + workid+";"+dk);
}
}
}
Response.End();
}
public void getTDFK()
{
Response.Clear();
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "text/plain";
string sql = "SELECT top(1)* FROM XMWZXXBGDDtl1 WHERE OID NOT IN (SELECT WORKID FROM ZB_KQZB)";
System.Data.DataTable dt = BP.DA.DBAccess.RunSQLReturnTable(sql);
if (dt.Rows.Count <= 0)
{
Response.Write("");
}
else
{
string sqlcount = "select * from zb_kqzb where WorkID='" + dt.Rows[0]["OID"] + "'";
System.Data.DataTable tablecount = BP.DA.DBAccess.RunSQLReturnTable(sqlcount);
if (tablecount.Rows.Count > 0)
{
//存在
Response.Write("Y");
}
else
{
string kqzb = "";
string workid = "";
string xmmc = "";
string result = "";
foreach (DataRow dr in dt.Rows)
{
string zbAll = "";
workid = dr["OID"].ToString();
xmmc = dr["XMMC"].ToString();
xmmc = xmmc.Replace(Environment.NewLine, "");//去掉换行符
kqzb = dr["KQZB"].ToString();
string[] zbStr = kqzb.Split(';');
for (int i = 0; i < zbStr.Length; i++)
{
zbAll += "[" + zbStr[i] + "],";
}
zbAll = (zbAll.Length > 0) ? zbAll.Remove(zbAll.Length - 1, 1) : zbAll;//去掉最后一个逗号
//zbAll += "(";//将多个面数据用括号隔开
result = zbAll;
}
result = result.Replace(Environment.NewLine, "");//去掉换行符
//result = (result.Length > 0) ? result.Remove(result.Length - 1, 1) : result;//去掉最后一个括号
if (dt.Rows.Count <= 0)
{
Response.Write("");
}
else
{
Response.Write(result + ";" + workid +";"+xmmc);
}
}
}
Response.End();
}