| @@ -243,7 +243,7 @@ | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <div id="info" style="display: none"></div> | |||
| <!--房地全部信息展示--> | |||
| <div class="landHomesteadDetails_wrap"> | |||
| <!---农房--> | |||
| @@ -1470,11 +1470,11 @@ export default { | |||
| housingSerial(item, index) { | |||
| this.selectChooseOrder = index; | |||
| if (item.type == "house") { | |||
| // $("#texiao_fang").val(item.name); | |||
| // $("#texiao_fang").trigger("click"); | |||
| $("#texiao_fang").val(item.name); | |||
| $("#texiao_fang").trigger("click"); | |||
| } else { | |||
| // $("#texiao_di").val(item.name); | |||
| // $("#texiao_di").trigger("click"); | |||
| $("#texiao_di").val(item.name); | |||
| $("#texiao_di").trigger("click"); | |||
| } | |||
| }, | |||
| @@ -1512,6 +1512,67 @@ export default { | |||
| maxZoom: 18.9, //地图放大限制 | |||
| }), | |||
| }); | |||
| //业务图层 wfs服务 属性查询开始 ------------------start | |||
| /** | |||
| * @api wfs服务空间查询 | |||
| * @param {*} wfsurl | |||
| * @param {*} srsName | |||
| * @param {*} typeName | |||
| * @param {*} drawType | |||
| * @param {option 可选} geometryField | |||
| */ | |||
| var wmsSource = new ol.source.TileWMS({ | |||
| //url: 'http://192.168.31.150:8888/geoserver/mywork_mysql/wms', | |||
| url: 'http://116.255.135.38:8080/geoserver/nsgk_hc/wms', | |||
| //url: 'http://localhost:8888/geoserver/mywork_mysql/wms', | |||
| params: { | |||
| 'LAYERS': 'nsgk_hc:nsgk_hc_all', | |||
| //'LAYERS': 'mywork_mysql:t_geo_hc_land', | |||
| 'TILED':true, | |||
| SRID:3857, | |||
| serverType: 'geoserver', | |||
| crossOrigin: 'anonymous', | |||
| }, | |||
| }) | |||
| map.on('singleclick', function (evt) { | |||
| var aa = evt.coordinate; | |||
| map.getView().animate({ | |||
| // 只设置需要的属性即可 | |||
| center: [aa[0],aa[1]], // 中心点 | |||
| zoom: 15, // 缩放级别 | |||
| rotation: undefined, // 缩放完成view视图旋转弧度 | |||
| duration: 1000, // 缩放持续时间,默认不需要设置 | |||
| }); | |||
| document.getElementById('info').innerHTML = ''; | |||
| var viewResolution = map.getView().getResolution();///** @type {number} */ (view.getResolution()); | |||
| var url = wmsSource.getFeatureInfoUrl( | |||
| evt.coordinate, | |||
| viewResolution, | |||
| 'EPSG:3857', | |||
| {'INFO_FORMAT': 'text/html'} | |||
| ); | |||
| if (url) { | |||
| fetch(url) | |||
| .then(function (response) { return response.text(); }) | |||
| .then(function (html) { | |||
| document.getElementById('info').innerHTML = html; | |||
| }); | |||
| } | |||
| }); | |||
| map.on('pointermove', function (evt) { | |||
| if (evt.dragging) { | |||
| return; | |||
| } | |||
| var pixel = map.getEventPixel(evt.originalEvent); | |||
| var hit = map.forEachLayerAtPixel(pixel, function () { | |||
| return true; | |||
| }); | |||
| map.getTargetElement().style.cursor = hit ? 'pointer' : ''; | |||
| }); | |||
| //属性查询结束 ------------------end | |||
| var shitu = new ol.layer.Vector({ | |||
| title: "add Layer", | |||
| source: new ol.source.Vector({ | |||
| @@ -2054,6 +2115,9 @@ export default { | |||
| } else { | |||
| cun = ""; | |||
| } | |||
| //定位个人地图 | |||
| map.removeLayer(texiao_layer_fang); | |||
| map.removeLayer(texiao_layer_di); | |||
| //删除之前加载的图层 | |||
| if (cun != "全部") { | |||
| let currObjNum = currObj[0]; | |||
| @@ -2206,6 +2270,331 @@ export default { | |||
| }); | |||
| //开始绘制地图 ------------------- end | |||
| //特效实现 | |||
| $("#texiao_fang").on("click", function () { | |||
| /** | |||
| * @api wfs服务空间查询 | |||
| * @param {*} wfsurl | |||
| * @param {*} srsName | |||
| * @param {*} typeName | |||
| * @param {*} drawType | |||
| * @param {option 可选} geometryField | |||
| */ | |||
| //alert("进入分类"); | |||
| //删除之前加载的图层 | |||
| map.removeLayer(texiao_layer_fang); | |||
| var cunmap = _this.focusVillageOptions[0].orgCode; | |||
| var cun; | |||
| let currObj = _this.villageOptions.filter((v) => { | |||
| return v.orgCode == cunmap; | |||
| }); | |||
| if (currObj.length == 1) { | |||
| cun = currObj[0].deptName; | |||
| } else { | |||
| cun = ""; | |||
| } | |||
| //删除之前加载的图层 | |||
| //map.removeLayer(dishitu); | |||
| //map.removeLayer(cunshitu); | |||
| //分类查询查询农地、农房 | |||
| var difang; | |||
| //地的数据判断 | |||
| difang = "nsgk_hc:t_geo_hc_house"; | |||
| //查询条件 | |||
| var cql_filter; | |||
| //村的数据判断 | |||
| var val = $("#texiao_fang").val(); | |||
| if (val == "") { | |||
| alert("请填写查询条件在查询"); | |||
| } | |||
| //for(var i=0; i< difang.length; i++){ | |||
| //cql_filter = "CM='"+cun +"'"+ "and FWSYRMC='"+query_mz.value; | |||
| cql_filter = "FWSYRMC='" + val + "' and CM='" + cun + "'"; | |||
| //图层加载 | |||
| //地的数据判断 | |||
| //定位查询位置 | |||
| let param_dw = { | |||
| srsName: "EPSG:3857", | |||
| service: "WFS", | |||
| version: "1.0.0", | |||
| request: "GetFeature", | |||
| typename: difang, | |||
| //featureNS: 'nsgk_hc',//命名空间 URI | |||
| cql_filter: cql_filter, | |||
| //featurePrefix: 'nationalwater',//工作区名称 | |||
| //featureTypes: ['nationalwater:01fir'],//查询图层,可以是同一个工作区下多个图层,逗号隔开 | |||
| outputFormat: "application/json", | |||
| //filter: ol.format.filter.equalTo(t,e,r)//前者是属性名,后者是对应值 | |||
| }; | |||
| let url_dw = "http://116.255.135.38:8080/geoserver/nsgk_hc/wfs"; //wfsurl; | |||
| url_dw = url_dw + "?"; | |||
| for (let key in param_dw) { | |||
| url_dw = url_dw + key + "=" + param_dw[key] + "&"; | |||
| } | |||
| url_dw = url_dw.substr(0, url_dw.length - 1); | |||
| fetch(url_dw, { | |||
| method: "POST", // *GET, POST, PUT, DELETE, etc. | |||
| }) | |||
| .then((res) => { | |||
| var geojsonmap = res.json(); | |||
| return geojsonmap; | |||
| }) | |||
| .then((data) => { | |||
| //关联查询农房信息---------------start | |||
| // document.getElementById("info").innerHTML = ""; | |||
| // var select_fang = (document.getElementById("info").innerHTML = | |||
| // data.features[0].properties); | |||
| // _this.hasTable = true; | |||
| // _this.hasDateStatus = 1; | |||
| // let obj = {}; | |||
| // //let trs = $("#info .featureInfo").find("tr:eq(1)"); | |||
| // obj.FWSYRMC = select_fang.FWSYRMC; //房屋所有人名称 | |||
| // obj.CM = select_fang.CM; //村名 | |||
| // obj.CDM = select_fang.CDM; //村代码 | |||
| // obj.DZ = select_fang.DZ; //地址 | |||
| // obj.SFYSPSX = select_fang.SFYSPSX; //是否有审批手续 | |||
| // obj.FWSYQH = select_fang.FWSYQH; //房屋所有权证号 | |||
| // obj.JZMJ = select_fang.JZMJ; //建筑面积 | |||
| // obj.TDZH = select_fang.TDZH; //土地证号 | |||
| // obj.TDXZ = select_fang.TDXZ; //土地性质 | |||
| // obj.TDMJ = select_fang.TDMJ; //土地面积 | |||
| // obj.XZQK = select_fang.XZQK; //现状情况 | |||
| // obj.ZLRXM = select_fang.ZLRXM; //租赁人姓名 | |||
| // obj.ZLHTJZRQ = select_fang.ZLHTJZRQ; //租赁合同截止时间 | |||
| // obj.ZLSYNX = select_fang.ZLSYNX; //租赁剩余年现 | |||
| // obj.XZFWSFYLZY = select_fang.XZFWSFYLZY; //是否流转意向 | |||
| // obj.XH = select_fang.XH; //农房编号 | |||
| // _this.hasData = obj; | |||
| //关联查询农房信息---------------end | |||
| //定位结束 --------------start | |||
| //var datamap = data.bbox; | |||
| var datamap = data.features[0].bbox; | |||
| map.getView().animate({ | |||
| // 只设置需要的属性即可 | |||
| center: datamap, // 中心点 | |||
| zoom: 18, // 缩放级别 | |||
| rotation: undefined, // 缩放完成view视图旋转弧度 | |||
| duration: 1000, // 缩放持续时间,默认不需要设置 | |||
| }); | |||
| //定位结束 --------------end | |||
| //特效动画实现 -----------------------------start | |||
| texiao_layer_fang = new ol.layer.Vector({ | |||
| source: new ol.source.Vector(), | |||
| }); | |||
| map.addLayer(texiao_layer_fang); | |||
| var center = ol.extent.getCenter(datamap); //获取边界区域的中心位置 | |||
| var circle = new ol.Feature({ | |||
| geometry: new ol.geom.Point(center), //ol.proj.transform([104, 30], 'EPSG:4326', 'EPSG:3857') //投影坐标转为地理坐标 | |||
| }); | |||
| //var out =new ol.coordinate.Coordinate(datamap); | |||
| //var extent = ol.extent.boundingExtent(feature.getGeometry().getCoordinates()[datamap]); //获取一个坐标数组的边界,格式为[minx,miny,maxx,maxy] | |||
| //var center = ol.extent.getCenter(extent); //获取边界区域的中心位置 | |||
| //map.getView().setCenter(center); //设置当前地图的显示中心位置 | |||
| circle.setStyle( | |||
| new ol.style.Style({ | |||
| image: new ol.style.Circle({ | |||
| radius: 0, | |||
| stroke: new ol.style.Stroke({ | |||
| color: "yellow", | |||
| size: 1, | |||
| }), | |||
| }), | |||
| }) | |||
| ); | |||
| texiao_layer_fang.getSource().addFeature(circle); | |||
| // 关键的地方在此:监听postcompose事件,在里面重新设置circle的样式 | |||
| var radius = 0; | |||
| map.on("postcompose", function () { | |||
| // 增大半径,最大20 | |||
| radius++; | |||
| radius = radius % 10; | |||
| // 设置样式 | |||
| circle.setStyle( | |||
| new ol.style.Style({ | |||
| image: new ol.style.Circle({ | |||
| radius: radius, | |||
| stroke: new ol.style.Stroke({ | |||
| color: "yellow", | |||
| size: 1, | |||
| }), | |||
| }), | |||
| }) | |||
| ); | |||
| }); | |||
| //特效动画实现 -----------------------------end | |||
| }) | |||
| .catch((error) => { | |||
| console.log("【异常】", error); | |||
| }); | |||
| }); | |||
| //-----------------------------------------------------------------------------特效农房加载结束 end | |||
| //-----------------------------------------------------------------------------特效农地加载开始 start | |||
| //特效实现 | |||
| $("#texiao_di").on("click", function () { | |||
| /** | |||
| * @api wfs服务空间查询 | |||
| * @param {*} wfsurl | |||
| * @param {*} srsName | |||
| * @param {*} typeName | |||
| * @param {*} drawType | |||
| * @param {option 可选} geometryField | |||
| */ | |||
| //alert("进入分类"); | |||
| //删除之前加载的图层 | |||
| map.removeLayer(texiao_layer_di); | |||
| var cunmap = _this.focusVillageOptions[0].orgCode; | |||
| var cun; | |||
| let currObj = _this.villageOptions.filter((v) => { | |||
| return v.orgCode == cunmap; | |||
| }); | |||
| if (currObj.length == 1) { | |||
| cun = currObj[0].deptName; | |||
| } else { | |||
| cun = ""; | |||
| } | |||
| //删除之前加载的图层 | |||
| //map.removeLayer(dishitu); | |||
| //map.removeLayer(cunshitu); | |||
| //分类查询查询农地、农房 | |||
| var difang; | |||
| //地的数据判断 | |||
| difang = "nsgk_hc:t_geo_hc_land"; | |||
| //查询条件 | |||
| var cql_filter; | |||
| //村的数据判断 | |||
| var val = $("#texiao_di").val(); | |||
| if (val == "") { | |||
| alert("请填写查询条件在查询"); | |||
| } | |||
| //for(var i=0; i< difang.length; i++){ | |||
| //cql_filter = "CM='"+cun +"'"+ "and FWSYRMC='"+query_mz.value; | |||
| cql_filter = "SYRMC='" + val + "' and CM='" + cun + "'"; | |||
| //图层加载 | |||
| //定位查询位置 | |||
| let param_dw = { | |||
| srsName: "EPSG:3857", | |||
| service: "WFS", | |||
| version: "1.0.0", | |||
| request: "GetFeature", | |||
| typename: difang, | |||
| INFO_FORMAT: "text/html", | |||
| //featureNS: 'nsgk_hc',//命名空间 URI | |||
| cql_filter: cql_filter, | |||
| //featurePrefix: 'nationalwater',//工作区名称 | |||
| //featureTypes: ['nationalwater:01fir'],//查询图层,可以是同一个工作区下多个图层,逗号隔开 | |||
| outputFormat: "application/json", | |||
| //filter: ol.format.filter.equalTo(t,e,r)//前者是属性名,后者是对应值 | |||
| }; | |||
| let url_dw = "http://116.255.135.38:8080/geoserver/nsgk_hc/wfs"; //wfsurl; | |||
| url_dw = url_dw + "?"; | |||
| for (let key in param_dw) { | |||
| url_dw = url_dw + key + "=" + param_dw[key] + "&"; | |||
| } | |||
| url_dw = url_dw.substr(0, url_dw.length - 1); | |||
| fetch(url_dw, { | |||
| method: "POST", // *GET, POST, PUT, DELETE, etc. | |||
| }) | |||
| .then((res) => { | |||
| var geojsonmap = res.json(); | |||
| return geojsonmap; | |||
| }) | |||
| .then((data) => { | |||
| //关联查询农地信息 ----------start | |||
| // document.getElementById("info").innerHTML = ""; | |||
| // var select_di = (document.getElementById("info").innerHTML = | |||
| // data.features[0].properties); | |||
| // _this.hasTable = true; | |||
| // _this.hasDateStatus = 0; | |||
| // let obj = {}; | |||
| // //let trs = $("#info").find("tr:eq(1)"); | |||
| // obj.XH = select_di.XH; //序号 | |||
| // obj.CM = select_di.CM; //村名 | |||
| // obj.CBRMC = select_di.CBRMC; //承包人名称 | |||
| // obj.SYRMC = select_di.SYRMC; //使用人名称 | |||
| // obj.NYDLX = select_di.NYDLX; //农用地类型 | |||
| // obj.MJ = select_di.MJ; //面积 | |||
| // obj.XZQK = select_di.XZQK; //现状情况 | |||
| // obj.LZHTJZRQ = select_di.LZHTJZRQ; //流转合同截止时间 | |||
| // obj.LZSYNX = select_di.LZSYNX; //流转剩余年限 | |||
| // obj.SFYLZYX = select_di.SFYLZYX; //是否流转意向 | |||
| // obj.CDM = select_di.CDM; //村代码 | |||
| // obj.org_code = select_di.org_code; //行政区化代码 | |||
| // _this.hasData = obj; | |||
| //关联查询农地信息 ----------end | |||
| //获取坐标定位开始----------start | |||
| //var datamap = data.bbox; | |||
| var datamap = data.features[0].bbox; | |||
| map.getView().animate({ | |||
| // 只设置需要的属性即可 | |||
| center: datamap, // 中心点 | |||
| zoom: 16, // 缩放级别 | |||
| rotation: undefined, // 缩放完成view视图旋转弧度 | |||
| duration: 1000, // 缩放持续时间,默认不需要设置 | |||
| }); | |||
| //获取坐标定位开始----------end | |||
| //特效动画实现 -----------------------------start | |||
| texiao_layer_di = new ol.layer.Vector({ | |||
| source: new ol.source.Vector(), | |||
| }); | |||
| map.addLayer(texiao_layer_di); | |||
| var center = ol.extent.getCenter(datamap); //获取边界区域的中心位置 | |||
| var circle = new ol.Feature({ | |||
| geometry: new ol.geom.Point(center), //ol.proj.transform([104, 30], 'EPSG:4326', 'EPSG:3857') //投影坐标转为地理坐标 | |||
| }); | |||
| //var out =new ol.coordinate.Coordinate(datamap); | |||
| //var extent = ol.extent.boundingExtent(feature.getGeometry().getCoordinates()[datamap]); //获取一个坐标数组的边界,格式为[minx,miny,maxx,maxy] | |||
| //var center = ol.extent.getCenter(extent); //获取边界区域的中心位置 | |||
| //map.getView().setCenter(center); //设置当前地图的显示中心位置 | |||
| circle.setStyle( | |||
| new ol.style.Style({ | |||
| image: new ol.style.Circle({ | |||
| radius: 0, | |||
| stroke: new ol.style.Stroke({ | |||
| color: "#ef5b9c", | |||
| size: 1, | |||
| }), | |||
| }), | |||
| }) | |||
| ); | |||
| texiao_layer_di.getSource().addFeature(circle); | |||
| // 关键的地方在此:监听postcompose事件,在里面重新设置circle的样式 | |||
| var radius = 0; | |||
| map.on("postcompose", function () { | |||
| // 增大半径,最大20 | |||
| radius++; | |||
| radius = radius % 10; | |||
| // 设置样式 | |||
| circle.setStyle( | |||
| new ol.style.Style({ | |||
| image: new ol.style.Circle({ | |||
| radius: radius, | |||
| stroke: new ol.style.Stroke({ | |||
| color: "#ef5b9c", | |||
| size: 1, | |||
| }), | |||
| }), | |||
| }) | |||
| ); | |||
| }); | |||
| //特效动画实现 -----------------------------end | |||
| }) | |||
| .catch((error) => { | |||
| console.log("【异常】", error); | |||
| }); | |||
| }); | |||
| //-----------------------------------------------------------------------------特效农地加载结束 end | |||
| }, | |||
| //农房 - 农房权属 选择值 | |||