@@ -0,0 +1,54 @@ | |||
import request from '@/utils/request' | |||
// 查询镇边界列表 | |||
export function listTown(query) { | |||
return request({ | |||
url: '/houseSurvey/town/list', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 导出镇边界 | |||
export function exportTown(query) { | |||
return request({ | |||
url: '/houseSurvey/town/export', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 查询镇边界详细 | |||
export function getTown(fid) { | |||
return request({ | |||
url: '/houseSurvey/town/get/' + fid, | |||
method: 'get' | |||
}) | |||
} | |||
// 新增镇边界 | |||
export function addTown(data) { | |||
return request({ | |||
url: '/houseSurvey/town/add', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
// 修改镇边界 | |||
export function updateTown(data) { | |||
return request({ | |||
url: '/houseSurvey/town/edit', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
// 删除镇边界 | |||
export function delTown(fid) { | |||
return request({ | |||
url: '/houseSurvey/town/remove/' + fid, | |||
method: 'get' | |||
}) | |||
} | |||
@@ -0,0 +1,54 @@ | |||
import request from '@/utils/request' | |||
// 查询村边界列表 | |||
export function listVillage(query) { | |||
return request({ | |||
url: '/houseSurvey/village/list', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 导出村边界 | |||
export function exportVillage(query) { | |||
return request({ | |||
url: '/houseSurvey/village/export', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 查询村边界详细 | |||
export function getVillage(fid) { | |||
return request({ | |||
url: '/houseSurvey/village/get/' + fid, | |||
method: 'get' | |||
}) | |||
} | |||
// 新增村边界 | |||
export function addVillage(data) { | |||
return request({ | |||
url: '/houseSurvey/village/add', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
// 修改村边界 | |||
export function updateVillage(data) { | |||
return request({ | |||
url: '/houseSurvey/village/edit', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
// 删除村边界 | |||
export function delVillage(fid) { | |||
return request({ | |||
url: '/houseSurvey/village/remove/' + fid, | |||
method: 'get' | |||
}) | |||
} | |||
@@ -69,3 +69,11 @@ export function uploadFile(data) { | |||
data: data | |||
}) | |||
} | |||
//查询当前登录账号坐标 | |||
export function getQueryLand() { | |||
return request({ | |||
url: '/system/dept/get/current', | |||
method: 'get' | |||
}) | |||
} |
@@ -0,0 +1,380 @@ | |||
<template> | |||
<div> | |||
<p class="fuTitle">地块位置绘制</p> | |||
<div id="full-screen-acceptance" style="width: 100%;height:45vh;"> | |||
<div :id=this.uuidMap style="width: 100%;height: 100%"></div> | |||
<div id='land-btn-wrap'> | |||
<!--<el-button :id=this.drawingPolygonMap style="background-color:#D0EEFF;color:#1E88C7" @click="" type="primary">画图</el-button>--> | |||
<!--<input id="drawRemove" type="button" class="ant-btn ant-btn-red" value="取消"/> --> | |||
<!--<el-button :id=this.drawingPolygonMap style="background-color:#D0EEFF;color:#1E88C7" type="primary">重置图层</el-button>--> | |||
<input :id="this.drawingPolygonMap" class="ant-btn ant-btn-red" type="button" value="画图"/> | |||
<input :id="this.drawingResetMap" type="button" class="ant-btn ant-btn-red" value="重置图层"/> | |||
</div> | |||
</div> | |||
<div id="info" style="display: none"></div> | |||
</div> | |||
</template> | |||
<script> | |||
import {getQueryLand} from "@/api/homesteadSurvey/zjdzd"; | |||
import $ from "jquery"; | |||
export default { | |||
components: { | |||
getQueryLand, | |||
}, | |||
data() { | |||
return { | |||
closeMoule: null, | |||
uuidMap: this.guidProduct(), | |||
drawingPolygonMap: this.guidProduct(), | |||
drawingResetMap: this.guidProduct(), | |||
}; | |||
}, | |||
props: ['theGeom','message'], | |||
// created() { | |||
// // setTimeout(() => { | |||
// // this.drawingPaceCountryDarw(); | |||
// // }, 100); | |||
// }, | |||
methods: { | |||
//地图加载 | |||
formSubmit(){ | |||
//父组件监听的名字必须是formSubmit | |||
// 子组件调用父组件的方法并传参 | |||
if(this.closeMoule =="" || this.closeMoule == null){ | |||
this.$emit('formSubmit', null); | |||
}else{ | |||
this.$emit('formSubmit', JSON.stringify(this.closeMoule)); | |||
} | |||
}, | |||
guidProduct(){ | |||
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { | |||
var r = Math.random() * 16 | 0, | |||
v = c == 'x' ? r : (r & 0x3 | 0x8); | |||
return v.toString(16); | |||
}); | |||
}, | |||
//地图查看 | |||
drawingPaceCountryDarw() { | |||
//加载地图编辑 | |||
var that = this; | |||
var map; | |||
//var hc_land; | |||
var draw; // global so we can remove it later | |||
var vector_drawing; | |||
if (that.message != null && that.message != "" | |||
&& that.message != undefined) { | |||
document.getElementById(that.uuidMap).innerHTML = ''; | |||
var hc_land; | |||
var hc_landFuther; | |||
var draw; // global so we can remove it later | |||
var vector_drawing; | |||
var projection = new ol.proj.Projection({ | |||
//地图投影类型 | |||
code: "EPSG:3857", | |||
units: "degrees", | |||
//extent:extent | |||
}); | |||
var aerial = new ol.layer.Tile({ | |||
source: new ol.source.XYZ({ | |||
url: "http://t0.tianditu.gov.cn/img_w/wmts?" + | |||
"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" + | |||
"&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=cc4aba6e967096098249efa069733067", | |||
}), | |||
isGroup: true, | |||
name: "卫星影像图", | |||
}); | |||
var yingxzi = new ol.layer.Tile({ | |||
source: new ol.source.XYZ({ | |||
url: "https://t0.tianditu.gov.cn/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=cc4aba6e967096098249efa069733067", | |||
}), | |||
isGroup: true, | |||
name: "天地图文字标注--卫星影像图", | |||
}); | |||
//加载地图 | |||
map = new ol.Map({ | |||
controls: ol.control.defaults({attribution: false, zoom: false, rotate: false}).extend([]), //隐藏放大缩小按钮 | |||
layers: [aerial, yingxzi], | |||
projection: projection, | |||
target: that.uuidMap, | |||
view: new ol.View({ | |||
//center: ol.proj.fromLonLat([115.452752, 31.789033]), | |||
zoom: 15, | |||
minZoom: 5, //地图缩小限制 | |||
maxZoom: 18.3, //地图放大限制 | |||
}), | |||
}); | |||
//图层查询定位开始 ---------start | |||
if(this.message.substring(0,1) =="{"){ | |||
// var theGeomMap =this.message.replace("Point", "MultiPolygon"); | |||
// var pointLeft = theGeomMap.replace("[", "[[[["); | |||
// var pointRight = pointLeft.replace("]", "]]]]"); | |||
hc_land = new ol.layer.Vector({ | |||
title: "add Layer", | |||
source: new ol.source.Vector({ | |||
projection: projection, | |||
features: new ol.format.GeoJSON().readFeatures("{\n" + | |||
" \"type\": \"Feature\",\n" + | |||
" \"geometry\":" + this.message + "}"), | |||
}), | |||
style: new ol.style.Style({ | |||
fill: new ol.style.Fill({ | |||
//矢量图层填充颜色,以及透明度 | |||
color: "rgba(204, 255, 204,0.3)", | |||
}), | |||
stroke: new ol.style.Stroke({ | |||
//边界样式 | |||
color: "#47c68f", | |||
width: 3, | |||
}), | |||
}), | |||
}); | |||
map.addLayer(hc_land); | |||
var maxXMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxX; | |||
var maxYMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxY; | |||
var minXMap = hc_land.values_.source.featuresRtree_.rbush_.data.minX; | |||
var minYMap = hc_land.values_.source.featuresRtree_.rbush_.data.minY; | |||
//定位查询位置 | |||
var center = ol.extent.getCenter([maxXMap, maxYMap, minXMap, minYMap]); //获取边界区域的中心位置 | |||
map.getView().animate({ | |||
// 只设置需要的属性即可 | |||
center: center, // 中心点 | |||
zoom: 17.9, // 缩放级别 | |||
rotation: undefined, // 缩放完成view视图旋转弧度 | |||
duration: 1000, // 缩放持续时间,默认不需要设置 | |||
}); | |||
} | |||
// if(this.message.substring(0,1) =="["){ | |||
// var zbNew = JSON.stringify({"type": "MultiPolygon", "coordinates": [[[this.message.replaceAll("\"","")]]]}); | |||
// var leftJoin = zbNew.replace("\"[","["); | |||
// var rightJoin = leftJoin.replace("\"]","]"); | |||
// hc_landFuther = new ol.layer.Vector({ | |||
// title: "add Layer", | |||
// source: new ol.source.Vector({ | |||
// projection: projection, | |||
// features: new ol.format.GeoJSON().readFeatures("{\n" + | |||
// " \"type\": \"Feature\",\n" + | |||
// " \"geometry\":" + rightJoin + "}"), | |||
// }), | |||
// style: new ol.style.Style({ | |||
// fill: new ol.style.Fill({ | |||
// //矢量图层填充颜色,以及透明度 | |||
// color: "rgba(204, 255, 204,0.3)", | |||
// }), | |||
// stroke: new ol.style.Stroke({ | |||
// //边界样式 | |||
// color: "#47c68f", | |||
// width: 3, | |||
// }), | |||
// }), | |||
// }); | |||
// map.addLayer(hc_landFuther); | |||
// var maxXMap = hc_landFuther.values_.source.featuresRtree_.rbush_.data.maxX; | |||
// var maxYMap = hc_landFuther.values_.source.featuresRtree_.rbush_.data.maxY; | |||
// var minXMap = hc_landFuther.values_.source.featuresRtree_.rbush_.data.minX; | |||
// var minYMap = hc_landFuther.values_.source.featuresRtree_.rbush_.data.minY; | |||
// //定位查询位置 | |||
// var center = ol.extent.getCenter([maxXMap, maxYMap, minXMap, minYMap]); //获取边界区域的中心位置 | |||
// map.getView().animate({ | |||
// // 只设置需要的属性即可 | |||
// center: center, // 中心点 | |||
// zoom: 17.9, // 缩放级别 | |||
// rotation: undefined, // 缩放完成view视图旋转弧度 | |||
// duration: 1000, // 缩放持续时间,默认不需要设置 | |||
// }); | |||
// } | |||
//图层查询定位结束 ---------end | |||
//开始绘制地图 | |||
$("#"+this.drawingPolygonMap).click(function () { | |||
map.removeLayer(hc_land); | |||
//map.removeLayer(hc_landFuther); | |||
map.removeLayer(vector_drawing); | |||
//that.closeMoule = null; | |||
map.removeInteraction(draw); | |||
//var source = new ol.source.Vector({wrapX: false}); | |||
vector_drawing = new ol.layer.Vector({ | |||
source: new ol.source.Vector(), | |||
}); | |||
map.addLayer(vector_drawing); | |||
function addInteraction() { | |||
draw = new ol.interaction.Draw({ | |||
source: vector_drawing.getSource(), | |||
type: "Polygon" | |||
}); | |||
draw.on('drawend', function (evt) { | |||
var feature = evt.feature; | |||
var geometry = feature.getGeometry(); | |||
var coordinate = geometry.getCoordinates(); | |||
that.closeMoule = coordinate; | |||
that.formSubmit(); | |||
}); | |||
map.addInteraction(draw); | |||
} | |||
addInteraction(); | |||
}); | |||
//清除画图鼠标点击事件 | |||
// $("#drawRemove").click(function () { | |||
// //map.addLayer(hc_land); | |||
// map.removeInteraction(draw); | |||
// //map.removeLayer(vector_drawing); | |||
// }); | |||
//还原之前图层 | |||
$("#"+this.drawingResetMap).click(function () { | |||
if(that.closeMoule !=null) { | |||
map.removeLayer(vector_drawing); | |||
//map.removeLayer(hc_landFuther); | |||
map.removeInteraction(draw); | |||
map.addLayer(hc_land); | |||
//map.addLayer(hc_landFuther); | |||
// that.closeMoule = null; | |||
that.formSubmit(); | |||
} | |||
}); | |||
} else{ | |||
//this.closeMoule = null; | |||
document.getElementById(that.uuidMap).innerHTML = ''; | |||
var projection = new ol.proj.Projection({ | |||
//地图投影类型 | |||
code: "EPSG:3857", | |||
units: "degrees", | |||
//extent:extent | |||
}); | |||
var aerial = new ol.layer.Tile({ | |||
source: new ol.source.XYZ({ | |||
url: "http://t0.tianditu.gov.cn/img_w/wmts?" + | |||
"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" + | |||
"&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=cc4aba6e967096098249efa069733067", | |||
}), | |||
isGroup: true, | |||
name: "卫星影像图", | |||
}); | |||
var yingxzi = new ol.layer.Tile({ | |||
source: new ol.source.XYZ({ | |||
url: "https://t0.tianditu.gov.cn/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=cc4aba6e967096098249efa069733067", | |||
}), | |||
isGroup: true, | |||
name: "天地图文字标注--卫星影像图", | |||
}); | |||
//获取坐标是否存在 | |||
var Zb; | |||
getQueryLand().then((response) => { | |||
if (response.code == 200) { | |||
let InsertCode = response.data; | |||
if (InsertCode != null) { | |||
var lat = InsertCode.lat; | |||
var lng = InsertCode.lng; | |||
if(lat !=null && lng !=null && lat !="" && lng !=""){ | |||
Zb = [lng,lat]; | |||
}else { | |||
Zb =[115.452752, 31.789033]; | |||
} | |||
//加载地图 | |||
map = new ol.Map({ | |||
controls: ol.control.defaults({attribution: false, zoom: false, rotate: false}).extend([]), //隐藏放大缩小按钮 | |||
layers: [aerial, yingxzi], | |||
projection: projection, | |||
logo: 'false', | |||
target: that.uuidMap, | |||
view: new ol.View({ | |||
center: ol.proj.fromLonLat(Zb), | |||
//center: ol.proj.fromLonLat([115.452752, 31.789033]), | |||
zoom: 16.9, | |||
minZoom: 5, //地图缩小限制 | |||
maxZoom: 18, //地图放大限制 | |||
}), | |||
}); | |||
} | |||
} | |||
}); | |||
//图层查询定位结束 ---------end | |||
//开始绘制地图 | |||
$("#"+this.drawingPolygonMap).click(function () { | |||
//that.closeMoule = null; | |||
map.removeInteraction(draw); | |||
//var source = new ol.source.Vector({wrapX: false}); | |||
vector_drawing = new ol.layer.Vector({ | |||
source: new ol.source.Vector(), | |||
}); | |||
map.addLayer(vector_drawing); | |||
function addInteraction() { | |||
draw = new ol.interaction.Draw({ | |||
source: vector_drawing.getSource(), | |||
type: "Polygon" | |||
}); | |||
draw.on('drawend', function (evt) { | |||
var feature = evt.feature; | |||
var geometry = feature.getGeometry(); | |||
var coordinate = geometry.getCoordinates(); | |||
that.closeMoule = coordinate; | |||
that.formSubmit(); | |||
}); | |||
map.addInteraction(draw); | |||
} | |||
addInteraction(); | |||
}); | |||
//清除画图鼠标点击事件 | |||
// $("#drawRemove").click(function () { | |||
// //map.addLayer(hc_land); | |||
// map.removeInteraction(draw); | |||
// //map.removeLayer(vector_drawing); | |||
// }); | |||
//还原之前图层 | |||
$("#"+this.drawingResetMap).click(function () { | |||
map.removeInteraction(draw); | |||
map.removeLayer(vector_drawing); | |||
//that.closeMoule = null; | |||
that.formSubmit(); | |||
}); | |||
} | |||
}, | |||
}, | |||
watch: {}, | |||
}; | |||
</script> | |||
<style scoped> | |||
#that.message { | |||
width: 100%; | |||
height: 100%; | |||
} | |||
.fuTitle { | |||
border-top: 1px solid #e9e9e9; | |||
text-align: center; | |||
padding: 10px 0px 0px 0px; | |||
font-size: 36px; | |||
color: #999; | |||
} | |||
.ant-btn-red { | |||
position: relative; | |||
display: inline-block; | |||
background: #D0EEFF; | |||
border: 1px solid #99D3F5; | |||
border-radius: 4px; | |||
padding: 4px 12px; | |||
overflow: hidden; | |||
color: #1E88C7; | |||
text-decoration: none; | |||
text-indent: 0; | |||
line-height: 20px; | |||
} | |||
#land-btn-wrap{ | |||
position: relative; | |||
width: 25%; | |||
left: 75%; | |||
bottom: 100%; | |||
z-index: 2000; | |||
padding-top: 5%; | |||
} | |||
</style> |
@@ -0,0 +1,381 @@ | |||
<template> | |||
<div> | |||
<p class="fuTitle">地块位置绘制</p> | |||
<div id="full-screen-acceptance" style="width: 100%;height:45vh;"> | |||
<div :id=this.uuidMap style="width: 100%;height: 100%"></div> | |||
<div id='land-btn-wrap'> | |||
<el-row> | |||
<!--<el-button :id=this.drawingPolygonMap style="background-color:#D0EEFF;color:#1E88C7" @click="" type="primary">画图</el-button>--> | |||
<!--<input id="drawRemove" type="button" class="ant-btn ant-btn-red" value="取消"/> --> | |||
<!--<el-button :id=this.drawingPolygonMap style="background-color:#D0EEFF;color:#1E88C7" type="primary">重置图层</el-button>--> | |||
<input :id="this.drawingPolygonMap" class="ant-btn ant-btn-red" type="button" value="画图"/> | |||
<input :id="this.drawingResetMap" type="button" class="ant-btn ant-btn-red" value="重置图层"/> | |||
</el-row> | |||
</div> | |||
</div> | |||
<div id="info" style="display: none"></div> | |||
</div> | |||
</template> | |||
<script> | |||
import {getQueryLand} from "@/api/homesteadSurvey/zjdzd"; | |||
import $ from "jquery"; | |||
export default { | |||
components: { | |||
getQueryLand, | |||
}, | |||
data() { | |||
return { | |||
closeMoule: null, | |||
uuidMap: this.guidProduct(), | |||
drawingPolygonMap: this.guidProduct(), | |||
drawingResetMap: this.guidProduct(), | |||
}; | |||
}, | |||
props: ['theGeom','message'], | |||
// created() { | |||
// // setTimeout(() => { | |||
// // this.drawingPaceCountryLine(); | |||
// // }, 100); | |||
// }, | |||
methods: { | |||
//地图加载 | |||
formSubmit(){ | |||
//父组件监听的名字必须是formSubmit | |||
// 子组件调用父组件的方法并传参 | |||
if(this.closeMoule =="" || this.closeMoule == null){ | |||
this.$emit('formSubmit', null); | |||
}else{ | |||
this.$emit('formSubmit', JSON.stringify(this.closeMoule)); | |||
} | |||
}, | |||
guidProduct(){ | |||
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { | |||
var r = Math.random() * 16 | 0, | |||
v = c == 'x' ? r : (r & 0x3 | 0x8); | |||
return v.toString(16); | |||
}); | |||
}, | |||
//地图查看 | |||
drawingPaceCountryLine() { | |||
//加载地图编辑 | |||
var that = this; | |||
var map; | |||
//var hc_land; | |||
var draw; // global so we can remove it later | |||
var vector_drawing; | |||
if (that.message != null && that.message != "" | |||
&& that.message != undefined) { | |||
document.getElementById(that.uuidMap).innerHTML = ''; | |||
var hc_land; | |||
var hc_landFuther; | |||
var draw; // global so we can remove it later | |||
var vector_drawing; | |||
var projection = new ol.proj.Projection({ | |||
//地图投影类型 | |||
code: "EPSG:3857", | |||
units: "degrees", | |||
//extent:extent | |||
}); | |||
var aerial = new ol.layer.Tile({ | |||
source: new ol.source.XYZ({ | |||
url: "http://t0.tianditu.gov.cn/img_w/wmts?" + | |||
"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" + | |||
"&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=cc4aba6e967096098249efa069733067", | |||
}), | |||
isGroup: true, | |||
name: "卫星影像图", | |||
}); | |||
var yingxzi = new ol.layer.Tile({ | |||
source: new ol.source.XYZ({ | |||
url: "https://t0.tianditu.gov.cn/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=cc4aba6e967096098249efa069733067", | |||
}), | |||
isGroup: true, | |||
name: "天地图文字标注--卫星影像图", | |||
}); | |||
//加载地图 | |||
map = new ol.Map({ | |||
controls: ol.control.defaults({attribution: false, zoom: false, rotate: false}).extend([]), //隐藏放大缩小按钮 | |||
layers: [aerial, yingxzi], | |||
projection: projection, | |||
target: that.uuidMap, | |||
view: new ol.View({ | |||
//center: ol.proj.fromLonLat([115.452752, 31.789033]), | |||
zoom: 15, | |||
minZoom: 5, //地图缩小限制 | |||
maxZoom: 18.3, //地图放大限制 | |||
}), | |||
}); | |||
//图层查询定位开始 ---------start | |||
if(this.message.substring(0,1) =="{"){ | |||
// var theGeomMap =this.message.replace("Point", "MultiPolygon"); | |||
// var pointLeft = theGeomMap.replace("[", "[[[["); | |||
// var pointRight = pointLeft.replace("]", "]]]]"); | |||
hc_land = new ol.layer.Vector({ | |||
title: "add Layer", | |||
source: new ol.source.Vector({ | |||
projection: projection, | |||
features: new ol.format.GeoJSON().readFeatures("{\n" + | |||
" \"type\": \"Feature\",\n" + | |||
" \"geometry\":" + this.message + "}"), | |||
}), | |||
style: new ol.style.Style({ | |||
fill: new ol.style.Fill({ | |||
//矢量图层填充颜色,以及透明度 | |||
color: "rgba(204, 255, 204,0.3)", | |||
}), | |||
stroke: new ol.style.Stroke({ | |||
//边界样式 | |||
color: "#47c68f", | |||
width: 3, | |||
}), | |||
}), | |||
}); | |||
map.addLayer(hc_land); | |||
var maxXMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxX; | |||
var maxYMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxY; | |||
var minXMap = hc_land.values_.source.featuresRtree_.rbush_.data.minX; | |||
var minYMap = hc_land.values_.source.featuresRtree_.rbush_.data.minY; | |||
//定位查询位置 | |||
var center = ol.extent.getCenter([maxXMap, maxYMap, minXMap, minYMap]); //获取边界区域的中心位置 | |||
map.getView().animate({ | |||
// 只设置需要的属性即可 | |||
center: center, // 中心点 | |||
zoom: 17.9, // 缩放级别 | |||
rotation: undefined, // 缩放完成view视图旋转弧度 | |||
duration: 1000, // 缩放持续时间,默认不需要设置 | |||
}); | |||
} | |||
// if(this.message.substring(0,1) =="["){ | |||
// var zbNew = JSON.stringify({"type": "MultiPolygon", "coordinates": [[[this.message.replaceAll("\"","")]]]}); | |||
// var leftJoin = zbNew.replace("\"[","["); | |||
// var rightJoin = leftJoin.replace("\"]","]"); | |||
// hc_landFuther = new ol.layer.Vector({ | |||
// title: "add Layer", | |||
// source: new ol.source.Vector({ | |||
// projection: projection, | |||
// features: new ol.format.GeoJSON().readFeatures("{\n" + | |||
// " \"type\": \"Feature\",\n" + | |||
// " \"geometry\":" + rightJoin + "}"), | |||
// }), | |||
// style: new ol.style.Style({ | |||
// fill: new ol.style.Fill({ | |||
// //矢量图层填充颜色,以及透明度 | |||
// color: "rgba(204, 255, 204,0.3)", | |||
// }), | |||
// stroke: new ol.style.Stroke({ | |||
// //边界样式 | |||
// color: "#47c68f", | |||
// width: 3, | |||
// }), | |||
// }), | |||
// }); | |||
// map.addLayer(hc_landFuther); | |||
// var maxXMap = hc_landFuther.values_.source.featuresRtree_.rbush_.data.maxX; | |||
// var maxYMap = hc_landFuther.values_.source.featuresRtree_.rbush_.data.maxY; | |||
// var minXMap = hc_landFuther.values_.source.featuresRtree_.rbush_.data.minX; | |||
// var minYMap = hc_landFuther.values_.source.featuresRtree_.rbush_.data.minY; | |||
// //定位查询位置 | |||
// var center = ol.extent.getCenter([maxXMap, maxYMap, minXMap, minYMap]); //获取边界区域的中心位置 | |||
// map.getView().animate({ | |||
// // 只设置需要的属性即可 | |||
// center: center, // 中心点 | |||
// zoom: 17.9, // 缩放级别 | |||
// rotation: undefined, // 缩放完成view视图旋转弧度 | |||
// duration: 1000, // 缩放持续时间,默认不需要设置 | |||
// }); | |||
// } | |||
//图层查询定位结束 ---------end | |||
//开始绘制地图 | |||
$("#"+this.drawingPolygonMap).click(function () { | |||
map.removeLayer(hc_land); | |||
//map.removeLayer(hc_landFuther); | |||
map.removeLayer(vector_drawing); | |||
//that.closeMoule = null; | |||
map.removeInteraction(draw); | |||
//var source = new ol.source.Vector({wrapX: false}); | |||
vector_drawing = new ol.layer.Vector({ | |||
source: new ol.source.Vector(), | |||
}); | |||
map.addLayer(vector_drawing); | |||
function addInteraction() { | |||
draw = new ol.interaction.Draw({ | |||
source: vector_drawing.getSource(), | |||
type: "Polygon" | |||
}); | |||
draw.on('drawend', function (evt) { | |||
var feature = evt.feature; | |||
var geometry = feature.getGeometry(); | |||
var coordinate = geometry.getCoordinates(); | |||
that.closeMoule = coordinate; | |||
that.formSubmit(); | |||
}); | |||
map.addInteraction(draw); | |||
} | |||
addInteraction(); | |||
}); | |||
//清除画图鼠标点击事件 | |||
// $("#drawRemove").click(function () { | |||
// //map.addLayer(hc_land); | |||
// map.removeInteraction(draw); | |||
// //map.removeLayer(vector_drawing); | |||
// }); | |||
//还原之前图层 | |||
$("#"+this.drawingResetMap).click(function () { | |||
if(that.closeMoule !=null) { | |||
map.removeLayer(vector_drawing); | |||
//map.removeLayer(hc_landFuther); | |||
map.removeInteraction(draw); | |||
map.addLayer(hc_land); | |||
//map.addLayer(hc_landFuther); | |||
// that.closeMoule = null; | |||
that.formSubmit(); | |||
} | |||
}); | |||
} else{ | |||
//this.closeMoule = null; | |||
document.getElementById(that.uuidMap).innerHTML = ''; | |||
var projection = new ol.proj.Projection({ | |||
//地图投影类型 | |||
code: "EPSG:3857", | |||
units: "degrees", | |||
//extent:extent | |||
}); | |||
var aerial = new ol.layer.Tile({ | |||
source: new ol.source.XYZ({ | |||
url: "http://t0.tianditu.gov.cn/img_w/wmts?" + | |||
"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" + | |||
"&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=cc4aba6e967096098249efa069733067", | |||
}), | |||
isGroup: true, | |||
name: "卫星影像图", | |||
}); | |||
var yingxzi = new ol.layer.Tile({ | |||
source: new ol.source.XYZ({ | |||
url: "https://t0.tianditu.gov.cn/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=cc4aba6e967096098249efa069733067", | |||
}), | |||
isGroup: true, | |||
name: "天地图文字标注--卫星影像图", | |||
}); | |||
//获取坐标是否存在 | |||
var Zb; | |||
getQueryLand().then((response) => { | |||
if (response.code == 200) { | |||
let InsertCode = response.data; | |||
if (InsertCode != null) { | |||
var lat = InsertCode.lat; | |||
var lng = InsertCode.lng; | |||
if(lat !=null && lng !=null && lat !="" && lng !=""){ | |||
Zb = [lng,lat]; | |||
}else { | |||
Zb =[115.452752, 31.789033]; | |||
} | |||
//加载地图 | |||
map = new ol.Map({ | |||
controls: ol.control.defaults({attribution: false, zoom: false, rotate: false}).extend([]), //隐藏放大缩小按钮 | |||
layers: [aerial, yingxzi], | |||
projection: projection, | |||
logo: 'false', | |||
target: that.uuidMap, | |||
view: new ol.View({ | |||
center: ol.proj.fromLonLat(Zb), | |||
//center: ol.proj.fromLonLat([115.452752, 31.789033]), | |||
zoom: 16.9, | |||
minZoom: 5, //地图缩小限制 | |||
maxZoom: 18, //地图放大限制 | |||
}), | |||
}); | |||
} | |||
} | |||
}); | |||
//图层查询定位结束 ---------end | |||
//开始绘制地图 | |||
$("#"+this.drawingPolygonMap).click(function () { | |||
//that.closeMoule = null; | |||
map.removeInteraction(draw); | |||
//var source = new ol.source.Vector({wrapX: false}); | |||
vector_drawing = new ol.layer.Vector({ | |||
source: new ol.source.Vector(), | |||
}); | |||
map.addLayer(vector_drawing); | |||
function addInteraction() { | |||
draw = new ol.interaction.Draw({ | |||
source: vector_drawing.getSource(), | |||
type: "Polygon" | |||
}); | |||
draw.on('drawend', function (evt) { | |||
var feature = evt.feature; | |||
var geometry = feature.getGeometry(); | |||
var coordinate = geometry.getCoordinates(); | |||
that.closeMoule = coordinate; | |||
that.formSubmit(); | |||
}); | |||
map.addInteraction(draw); | |||
} | |||
addInteraction(); | |||
}); | |||
//清除画图鼠标点击事件 | |||
// $("#drawRemove").click(function () { | |||
// //map.addLayer(hc_land); | |||
// map.removeInteraction(draw); | |||
// //map.removeLayer(vector_drawing); | |||
// }); | |||
//还原之前图层 | |||
$("#"+this.drawingResetMap).click(function () { | |||
map.removeInteraction(draw); | |||
map.removeLayer(vector_drawing); | |||
//that.closeMoule = null; | |||
that.formSubmit(); | |||
}); | |||
} | |||
}, | |||
}, | |||
watch: {}, | |||
}; | |||
</script> | |||
<style scoped> | |||
#that.message { | |||
width: 100%; | |||
height: 100%; | |||
} | |||
.fuTitle { | |||
border-top: 1px solid #e9e9e9; | |||
text-align: center; | |||
padding: 10px 0px 0px 0px; | |||
font-size: 18px; | |||
color: #999; | |||
} | |||
.ant-btn-red { | |||
position: relative; | |||
display: inline-block; | |||
background: #D0EEFF; | |||
border: 1px solid #99D3F5; | |||
border-radius: 4px; | |||
padding: 4px 12px; | |||
overflow: hidden; | |||
color: #1E88C7; | |||
text-decoration: none; | |||
text-indent: 0; | |||
line-height: 20px; | |||
} | |||
#land-btn-wrap{ | |||
position: relative; | |||
width: 25%; | |||
left: 75%; | |||
bottom: 100%; | |||
z-index: 2000; | |||
padding-top: 5%; | |||
} | |||
</style> |
@@ -0,0 +1,437 @@ | |||
<template> | |||
<div> | |||
<p class="fuTitle">地块位置绘制</p> | |||
<div id="full-screen-acceptance" style="width: 100%;height:45vh;"> | |||
<div :id=this.uuidMap style="width: 100%;height: 100%"></div> | |||
<div id='land-btn-wrap'> | |||
<el-row> | |||
<input :id="this.drawPolygonMap" class="ant-btn ant-btn-red" type="button" value="标记"/> | |||
<!--<input id="drawRemove" type="button" class="ant-btn ant-btn-red" value="取消"/> --> | |||
<input :id="this.drawResetMap" type="button" class="ant-btn ant-btn-red" value="重置标记"/> | |||
</el-row> | |||
</div> | |||
</div> | |||
<div id="info" style="display: none"></div> | |||
</div> | |||
</template> | |||
<script> | |||
import {getQueryLand} from "@/api/homesteadSurvey/zjdzd"; | |||
import $ from "jquery"; | |||
export default { | |||
components: { | |||
getQueryLand, | |||
}, | |||
data() { | |||
return { | |||
closeMoule: null, | |||
reduction: null, | |||
uuidMap: this.guidProduct(), | |||
drawPolygonMap: this.guidProduct(), | |||
drawResetMap: this.guidProduct(), | |||
}; | |||
}, | |||
props: ['theGeom','message'], | |||
methods: { | |||
//地图加载 | |||
formSubmit(){ | |||
//父组件监听的名字必须是formSubmit | |||
// 子组件调用父组件的方法并传参 | |||
if(this.closeMoule =="" || this.closeMoule == null){ | |||
this.$emit('formSubmit', null); | |||
}else{ | |||
this.$emit('formSubmit', JSON.stringify(this.closeMoule)); | |||
} | |||
}, | |||
guidProduct(){ | |||
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { | |||
var r = Math.random() * 16 | 0, | |||
v = c == 'x' ? r : (r & 0x3 | 0x8); | |||
return v.toString(16); | |||
}); | |||
}, | |||
//地图查看 | |||
pointPaceCountryDarw() { | |||
//加载地图编辑 | |||
var that = this; | |||
var map; | |||
//var hc_land; | |||
var draw; // global so we can remove it later | |||
var vector_drawing; | |||
//矢量标注样式设置函数,设置image为图标ol.style.Icon | |||
function createLabelStyle() { | |||
return new ol.style.Style({ | |||
image: new ol.style.Icon({ | |||
//设置图标偏移 | |||
anchor: [0.5, 1], | |||
//标注样式的起点位置 | |||
anchorOrigin: "top-right", | |||
//X方向单位:分数 | |||
anchorXUnits: "fraction", | |||
//Y方向单位:像素 | |||
anchorYUnits: "pixels", | |||
//偏移起点位置的方向 | |||
offsetOrigin: "top-right", | |||
//透明度 | |||
opacity: 0.9, | |||
//图片路径 | |||
src: require("../../assets/images/housesteadSurvey/mark.png"), | |||
}), | |||
text: new ol.style.Text({ | |||
textAlign: "center", //位置 | |||
textBaseline: "middle", //基准线 | |||
font: "normal 12px 微软雅黑", //文字样式 | |||
//text: "标注点", //文本内容 | |||
fill: new ol.style.Fill({ | |||
//文本填充样式(即文字颜色) | |||
color: "#ff0000", | |||
}), | |||
}), | |||
zIndex: 9999, | |||
}); | |||
} | |||
if (that.message != null && that.message != "" | |||
&& that.message != undefined) { | |||
this.closeMoule = null; | |||
document.getElementById(that.uuidMap).innerHTML = ''; | |||
var hc_land; | |||
var draw; // global so we can remove it later | |||
var vector_drawing; | |||
var projection = new ol.proj.Projection({ | |||
//地图投影类型 | |||
code: "EPSG:3857", | |||
units: "degrees", | |||
//extent:extent | |||
}); | |||
var aerial = new ol.layer.Tile({ | |||
source: new ol.source.XYZ({ | |||
url: "http://t0.tianditu.gov.cn/img_w/wmts?" + | |||
"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" + | |||
"&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=cc4aba6e967096098249efa069733067", | |||
}), | |||
isGroup: true, | |||
name: "卫星影像图", | |||
}); | |||
var yingxzi = new ol.layer.Tile({ | |||
source: new ol.source.XYZ({ | |||
url: "https://t0.tianditu.gov.cn/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=cc4aba6e967096098249efa069733067", | |||
}), | |||
isGroup: true, | |||
name: "天地图文字标注--卫星影像图", | |||
}); | |||
//加载地图 | |||
map = new ol.Map({ | |||
controls: ol.control.defaults({attribution: false, zoom: false, rotate: false}).extend([]), //隐藏放大缩小按钮 | |||
layers: [aerial, yingxzi], | |||
projection: projection, | |||
target: that.uuidMap, | |||
view: new ol.View({ | |||
//center: ol.proj.fromLonLat([115.452752, 31.789033]), | |||
zoom: 15.9, | |||
minZoom: 5, //地图缩小限制 | |||
maxZoom: 18.3, //地图放大限制 | |||
}), | |||
}); | |||
//图层查询定位开始 ---------start | |||
if(this.message.substring(0,1) =="{"){ | |||
var theGeomMap =this.message.replace("Point", "MultiPolygon"); | |||
var pointLeft = theGeomMap.replace("[", "[[[["); | |||
var pointRight = pointLeft.replace("]", "]]]]"); | |||
hc_land = new ol.layer.Vector({ | |||
title: "add Layer", | |||
source: new ol.source.Vector({ | |||
projection: projection, | |||
features: new ol.format.GeoJSON().readFeatures("{\n" + | |||
" \"type\": \"Feature\",\n" + | |||
" \"geometry\":" + pointRight + "}"), | |||
}), | |||
style: new ol.style.Style({ | |||
fill: new ol.style.Fill({ | |||
//矢量图层填充颜色,以及透明度 | |||
color: "rgba(204, 255, 204,0.3)", | |||
}), | |||
stroke: new ol.style.Stroke({ | |||
//边界样式 | |||
color: "#47c68f", | |||
width: 3, | |||
}), | |||
}), | |||
}); | |||
} | |||
if(this.message.substring(0,1) =="["){ | |||
var zbNew = JSON.stringify({"type": "MultiPolygon", "coordinates": [[[this.message.replaceAll("\"","")]]]}); | |||
var leftJoin = zbNew.replace("\"[","["); | |||
var rightJoin = leftJoin.replace("\"]","]"); | |||
hc_land = new ol.layer.Vector({ | |||
title: "add Layer", | |||
source: new ol.source.Vector({ | |||
projection: projection, | |||
features: new ol.format.GeoJSON().readFeatures("{\n" + | |||
" \"type\": \"Feature\",\n" + | |||
" \"geometry\":" + rightJoin + "}"), | |||
}), | |||
style: new ol.style.Style({ | |||
fill: new ol.style.Fill({ | |||
//矢量图层填充颜色,以及透明度 | |||
color: "rgba(204, 255, 204,0.3)", | |||
}), | |||
stroke: new ol.style.Stroke({ | |||
//边界样式 | |||
color: "#47c68f", | |||
width: 3, | |||
}), | |||
}), | |||
}); | |||
} | |||
map.addLayer(hc_land); | |||
var maxXMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxX; | |||
var maxYMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxY; | |||
var minXMap = hc_land.values_.source.featuresRtree_.rbush_.data.minX; | |||
var minYMap = hc_land.values_.source.featuresRtree_.rbush_.data.minY; | |||
//定位查询位置 | |||
var center = ol.extent.getCenter([maxXMap, maxYMap, minXMap, minYMap]); //获取边界区域的中心位置 | |||
var newcenterFeature = new ol.Feature({ | |||
geometry: new ol.geom.Point(center), //几何信息 | |||
name: "标注点", | |||
}); | |||
var sourceMapLook = new ol.source.Vector({wrapX: false}); | |||
vector_drawing = new ol.layer.Vector({ | |||
source: sourceMapLook, | |||
}); | |||
map.addLayer(vector_drawing); | |||
newcenterFeature.setStyle(createLabelStyle()); //设置要素样式 | |||
sourceMapLook.addFeature(newcenterFeature); | |||
map.getView().animate({ | |||
// 只设置需要的属性即可 | |||
center: center, // 中心点 | |||
zoom: 15.9, // 缩放级别 | |||
rotation: undefined, // 缩放完成view视图旋转弧度 | |||
duration: 1000, // 缩放持续时间,默认不需要设置 | |||
}); | |||
//图层查询定位结束 ---------end | |||
//开始绘制地图 | |||
$("#"+this.drawPolygonMap).click(function () { | |||
map.removeLayer(hc_land); | |||
map.removeLayer(vector_drawing); | |||
that.closeMoule = null; | |||
var source = new ol.source.Vector({wrapX: false}); | |||
vector_drawing = new ol.layer.Vector({ | |||
source: source, | |||
}); | |||
map.addLayer(vector_drawing); | |||
function addInteraction() { | |||
draw = new ol.interaction.Draw({ | |||
source: vector_drawing.getSource(), | |||
type: "Point", | |||
}); | |||
draw.on('drawend', function (evt) { | |||
map.removeInteraction(draw); | |||
var feature = evt.feature; | |||
var geometry = feature.getGeometry(); | |||
var coordinate = geometry.getCoordinates(); | |||
var newFeature = new ol.Feature({ | |||
geometry: new ol.geom.Point(coordinate), //几何信息 | |||
//name: "标注点", | |||
}); | |||
newFeature.setStyle(createLabelStyle()); //设置要素样式 | |||
source.addFeature(newFeature); | |||
that.closeMoule = coordinate; | |||
that.reduction = coordinate; | |||
that.formSubmit(); | |||
}); | |||
map.addInteraction(draw); | |||
} | |||
addInteraction(); | |||
}); | |||
//清除画图鼠标点击事件 | |||
// $("#drawRemove").click(function () { | |||
// //map.addLayer(hc_land); | |||
// map.removeInteraction(draw); | |||
// //map.removeLayer(vector_drawing); | |||
// }); | |||
//还原之前图层 | |||
$("#" + this.drawResetMap).click(function () { | |||
if(that.reduction !=null) { | |||
map.removeInteraction(draw); | |||
map.removeLayer(vector_drawing); | |||
map.addLayer(hc_land); | |||
newcenterFeature = new ol.Feature({ | |||
geometry: new ol.geom.Point(center), //几何信息 | |||
//name: "标注点", | |||
}); | |||
sourceMapLook = new ol.source.Vector({wrapX: false}); | |||
vector_drawing = new ol.layer.Vector({ | |||
source: sourceMapLook, | |||
}); | |||
map.addLayer(vector_drawing); | |||
newcenterFeature.setStyle(createLabelStyle()); //设置要素样式 | |||
sourceMapLook.addFeature(newcenterFeature); | |||
that.closeMoule = null; | |||
that.formSubmit(); | |||
} | |||
}); | |||
} else{ | |||
this.closeMoule = null; | |||
document.getElementById(that.uuidMap).innerHTML = ''; | |||
var projection = new ol.proj.Projection({ | |||
//地图投影类型 | |||
code: "EPSG:3857", | |||
units: "degrees", | |||
//extent:extent | |||
}); | |||
var aerial = new ol.layer.Tile({ | |||
source: new ol.source.XYZ({ | |||
url: "http://t0.tianditu.gov.cn/img_w/wmts?" + | |||
"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" + | |||
"&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=cc4aba6e967096098249efa069733067", | |||
}), | |||
isGroup: true, | |||
name: "卫星影像图", | |||
}); | |||
var yingxzi = new ol.layer.Tile({ | |||
source: new ol.source.XYZ({ | |||
url: "https://t0.tianditu.gov.cn/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=cc4aba6e967096098249efa069733067", | |||
}), | |||
isGroup: true, | |||
name: "天地图文字标注--卫星影像图", | |||
}); | |||
//获取坐标是否存在 | |||
var Zb; | |||
var latitude; | |||
var longitude; | |||
//开始定位当前位置 | |||
navigator.geolocation.getCurrentPosition(function(position) { | |||
latitude = position.coords.latitude;// 获取纬度 | |||
longitude = position.coords.longitude;// 获取经度 | |||
}); | |||
getQueryLand().then((response) => { | |||
if (response.code == 200) { | |||
let InsertCode = response.data; | |||
if (InsertCode != null) { | |||
var lat = InsertCode.lat; | |||
var lng = InsertCode.lng; | |||
if(latitude !=null && longitude !=null && latitude !="" && longitude !=""){ | |||
Zb = [longitude,latitude]; | |||
}else if(lat !=null && lng !=null && lat !="" && lng !=""){ | |||
Zb = [lng,lat]; | |||
}else { | |||
Zb =[115.452752, 31.789033]; | |||
} | |||
//加载地图 | |||
map = new ol.Map({ | |||
controls: ol.control.defaults({attribution: false, zoom: false, rotate: false}).extend([]), //隐藏放大缩小按钮 | |||
layers: [aerial, yingxzi], | |||
projection: projection, | |||
logo: 'false', | |||
target: that.uuidMap, | |||
view: new ol.View({ | |||
center: ol.proj.fromLonLat(Zb), | |||
//center: ol.proj.fromLonLat([115.452752, 31.789033]), | |||
zoom: 15.9, | |||
minZoom: 5, //地图缩小限制 | |||
maxZoom: 18, //地图放大限制 | |||
}), | |||
}); | |||
} | |||
} | |||
}); | |||
//图层查询定位结束 ---------end | |||
//开始绘制地图 | |||
$("#"+this.drawPolygonMap).click(function () { | |||
//map.removeLayer(hc_land); | |||
map.removeLayer(vector_drawing); | |||
that.closeMoule = null; | |||
map.removeInteraction(draw); | |||
var sourceMap = new ol.source.Vector({wrapX: false}); | |||
vector_drawing = new ol.layer.Vector({ | |||
source: sourceMap, | |||
}); | |||
map.addLayer(vector_drawing); | |||
function addInteraction() { | |||
draw = new ol.interaction.Draw({ | |||
source: vector_drawing.getSource(), | |||
type: "Point", | |||
}); | |||
draw.on('drawend', function (evt) { | |||
map.removeInteraction(draw); | |||
$("#drawRemove").trigger('click'); | |||
var feature = evt.feature; | |||
var geometry = feature.getGeometry(); | |||
var coordinate = geometry.getCoordinates(); | |||
var newFeature = new ol.Feature({ | |||
geometry: new ol.geom.Point(coordinate), //几何信息 | |||
//name: "标注点", | |||
}); | |||
newFeature.setStyle(createLabelStyle()); //设置要素样式 | |||
sourceMap.addFeature(newFeature); | |||
that.closeMoule = coordinate; | |||
that.formSubmit(); | |||
}); | |||
map.addInteraction(draw); | |||
} | |||
addInteraction(); | |||
}); | |||
//清除画图鼠标点击事件 | |||
// $("#drawRemove").click(function () { | |||
// //map.addLayer(hc_land); | |||
// map.removeInteraction(draw); | |||
// //map.removeLayer(vector_drawing); | |||
// }); | |||
//还原之前图层 | |||
$("#" + this.drawResetMap).click(function () { | |||
map.removeInteraction(draw); | |||
map.removeLayer(vector_drawing); | |||
//map.addLayer(hc_land); | |||
that.closeMoule = null; | |||
that.formSubmit(); | |||
}); | |||
} | |||
}, | |||
}, | |||
watch: {}, | |||
}; | |||
</script> | |||
<style scoped> | |||
#peaceCountryMap { | |||
width: 100%; | |||
height: 100%; | |||
} | |||
.fuTitle { | |||
border-top: 1px solid #e9e9e9; | |||
text-align: center; | |||
padding: 10px 0px 0px 0px; | |||
font-size: 18px; | |||
color: #999; | |||
} | |||
.ant-btn-red { | |||
position: relative; | |||
display: inline-block; | |||
background: #D0EEFF; | |||
border: 1px solid #99D3F5; | |||
border-radius: 4px; | |||
padding: 4px 12px; | |||
overflow: hidden; | |||
color: #1E88C7; | |||
text-decoration: none; | |||
text-indent: 0; | |||
line-height: 20px; | |||
} | |||
#land-btn-wrap{ | |||
position: relative; | |||
width: 25%; | |||
left: 75%; | |||
bottom: 100%; | |||
z-index: 2000; | |||
padding-top: 5%; | |||
} | |||
</style> |
@@ -2173,7 +2173,7 @@ export default { | |||
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://116.255.223.226:8080/geoserver/nsgk_hc/wms", | |||
//url: 'http://localhost:8888/geoserver/mywork_mysql/wms', | |||
params: { | |||
LAYERS: "nsgk_hc:nsgk_hc_all", | |||
@@ -2202,7 +2202,7 @@ export default { | |||
title: "add Layer", | |||
source: new ol.source.Vector({ | |||
projection: projection, | |||
// url: "http://116.255.135.38:8081/nsgk_test/profile/geojson/huancui.json", //GeoJSON的文件路径,用户可以根据需求而改变 | |||
// url: "http://116.255.223.226:8081/nsgk_test/profile/geojson/huancui.json", //GeoJSON的文件路径,用户可以根据需求而改变 | |||
// format: new ol.format.GeoJSON(), | |||
features: new ol.format.GeoJSON().readFeatures(data), | |||
}), | |||
@@ -2244,7 +2244,7 @@ export default { | |||
// title: "add Layer", | |||
// source: new ol.source.Vector({ | |||
// projection: projection, | |||
// url: "http://116.255.135.38:8081/nsgk_test/profile/geojson/huancui.json", //GeoJSON的文件路径,用户可以根据需求而改变 | |||
// url: "http://116.255.223.226:8081/nsgk_test/profile/geojson/huancui.json", //GeoJSON的文件路径,用户可以根据需求而改变 | |||
// format: new ol.format.GeoJSON(), | |||
// }), | |||
// style: new ol.style.Style({ | |||
@@ -2264,7 +2264,7 @@ export default { | |||
// title: "add huancui_zhen", | |||
// source: new ol.source.Vector({ | |||
// projection: projection, | |||
// url: "http://116.255.135.38:8081/nsgk_test/profile/geojson/huancui_zhen.json", //GeoJSON的文件路径,用户可以根据需求而改变 | |||
// url: "http://116.255.223.226:8081/nsgk_test/profile/geojson/huancui_zhen.json", //GeoJSON的文件路径,用户可以根据需求而改变 | |||
// format: new ol.format.GeoJSON(), | |||
// }), | |||
// style: new ol.style.Style({ | |||
@@ -2700,7 +2700,7 @@ export default { | |||
nongZt[i] = new ol.layer.Tile({ | |||
source: 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://116.255.223.226:8080/geoserver/nsgk_hc/wms", | |||
//url: 'http://localhost:8888/geoserver/mywork_mysql/wms', | |||
//url: 'http://localhost:8888/geoserver/new_shp/wms', | |||
params: { | |||
@@ -2727,7 +2727,7 @@ export default { | |||
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; | |||
let url_dw = "http://116.255.223.226:8080/geoserver/nsgk_hc/wfs"; //wfsurl; | |||
url_dw = url_dw + "?"; | |||
for (let key in param_dw) { | |||
url_dw = url_dw + key + "=" + param_dw[key] + "&"; | |||
@@ -2859,7 +2859,7 @@ export default { | |||
delete_map[i] = new ol.layer.Tile({ | |||
source: 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://116.255.223.226:8080/geoserver/nsgk_hc/wms", | |||
//url: 'http://localhost:8888/geoserver/mywork_mysql/wms', | |||
//url: 'http://localhost:8888/geoserver/new_shp/wms', | |||
params: { | |||
@@ -2887,7 +2887,7 @@ export default { | |||
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; | |||
let url_dw = "http://116.255.223.226:8080/geoserver/nsgk_hc/wfs"; //wfsurl; | |||
url_dw = url_dw + "?"; | |||
for (let key in param_dw) { | |||
url_dw = url_dw + key + "=" + param_dw[key] + "&"; | |||
@@ -3121,7 +3121,7 @@ export default { | |||
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; | |||
let url_dw = "http://116.255.223.226:8080/geoserver/nsgk_hc/wfs"; //wfsurl; | |||
url_dw = url_dw + "?"; | |||
for (let key in param_dw) { | |||
url_dw = url_dw + key + "=" + param_dw[key] + "&"; | |||
@@ -3288,7 +3288,7 @@ export default { | |||
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; | |||
let url_dw = "http://116.255.223.226:8080/geoserver/nsgk_hc/wfs"; //wfsurl; | |||
url_dw = url_dw + "?"; | |||
for (let key in param_dw) { | |||
url_dw = url_dw + key + "=" + param_dw[key] + "&"; | |||
@@ -339,6 +339,7 @@ | |||
label="备注" | |||
placeholder="备注" | |||
/> | |||
<MapGisDrawing ref="drewingClickLoading" :message="form.theGeom" v-on:formSubmit="MapTag"></MapGisDrawing> | |||
<div style="margin: 16px;"> | |||
<van-button round block color="#7AC943" native-type="submit">保存</van-button> | |||
</div> | |||
@@ -697,6 +698,7 @@ | |||
placeholder="备注" | |||
:rules="[{ required: true, message: '' }]" | |||
/> | |||
<MapGisDrawing ref="drewingClickLoading" :message="form.theGeom" v-on:formSubmit="MapTag"></MapGisDrawing> | |||
<div style="margin: 16px;"> | |||
<van-button round block color="#7AC943" native-type="submit">保存</van-button> | |||
</div> | |||
@@ -817,6 +819,7 @@ | |||
placeholder="备注" | |||
:rules="[{ required: true, message: '' }]" | |||
/> | |||
<MapGisDrawing ref="drewingClickLoading" :message="form.theGeom" v-on:formSubmit="MapTag"></MapGisDrawing> | |||
<div style="margin: 16px;"> | |||
<van-button round block color="#7AC943" native-type="submit">保存</van-button> | |||
</div> | |||
@@ -930,6 +933,7 @@ | |||
placeholder="备注" | |||
:rules="[{ required: true, message: '' }]" | |||
/> | |||
<MapGisDrawing ref="drewingClickLoading" :message="form.theGeom" v-on:formSubmit="MapTag"></MapGisDrawing> | |||
<div style="margin: 16px;"> | |||
<van-button round block color="#7AC943" native-type="submit">保存</van-button> | |||
</div> | |||
@@ -1176,6 +1180,7 @@ | |||
<div style="text-align:center;overflow:auto;"> | |||
<van-button plain round color="#7AC943" size="mini" style="margin:0 auto;">查看户主信息</van-button> | |||
</div> | |||
<MapGisDrawing ref="drewingClickLoading" :message="form.theGeom" v-on:formSubmit="MapTag"></MapGisDrawing> | |||
<div style="margin: 16px;"> | |||
<van-button round block color="#7AC943" native-type="submit">保存</van-button> | |||
</div> | |||
@@ -1198,7 +1203,7 @@ | |||
<p style="flex:1;text-align:right;">个人</p> | |||
</div> | |||
<div style="text-align:center;overflow:auto;"> | |||
<van-button plain round color="#7AC943" size="mini" style="margin:0 auto;" @click="showzrz=true">查看自然幢信息</van-button> | |||
<van-button plain round color="#7AC943" size="mini" style="margin:0 auto;" @click="showPopupzrz">查看自然幢信息</van-button> | |||
</div> | |||
</div> | |||
<template #right> | |||
@@ -1258,7 +1263,7 @@ | |||
<p style="flex:1;text-align:right;">个人</p> | |||
</div> | |||
<div style="text-align:center;overflow:auto;"> | |||
<van-button plain round color="#7AC943" size="mini" @click="showfsss=true" style="margin:0 auto;">查看附属设施信息</van-button> | |||
<van-button plain round color="#7AC943" size="mini" @click="showPopupfsss" style="margin:0 auto;">查看附属设施信息</van-button> | |||
</div> | |||
</div> | |||
<template #right> | |||
@@ -1280,9 +1285,17 @@ | |||
<script> | |||
import {listShyqr} from "@/api/homesteadSurvey/shyqr"; | |||
import {listZjdzd,getZjdzd,updateZjdzd,addZjdzd,uploadFile} from "@/api/homesteadSurvey/zjdzd"; | |||
export default { | |||
import {listZjdzd,getZjdzd,updateZjdzd,addZjdzd,uploadFile,getQueryLand} from "@/api/homesteadSurvey/zjdzd"; | |||
import MapGisDrawing from "@/components/Map/MapGisDrawing"; | |||
import {listZrz,getZrzZjdDmList} from "@/api/homesteadSurvey/zrz"; | |||
import {listFsss,getFsssZjdDmList} from "@/api/homesteadSurvey/fsss"; | |||
import { listTown, getTown } from "@/api/homesteadSurvey/town"; | |||
import { listVillage} from "@/api/homesteadSurvey/village"; | |||
export default { | |||
name: "homesteadAdd", | |||
components: { MapGisDrawing,}, | |||
data() { | |||
return { | |||
active:1, | |||
@@ -1345,7 +1358,7 @@ | |||
this.getZjd() | |||
}, | |||
mounted(){ | |||
this.mapClickLoading(); | |||
}, | |||
methods: { | |||
// 图片上传前 | |||
@@ -1503,15 +1516,18 @@ | |||
}, | |||
showPopupzrz() { | |||
this.showzrz = true; | |||
this.mapClickLoading(); | |||
}, | |||
showPopupfw() { | |||
this.showfw = true; | |||
}, | |||
showPopupfsss() { | |||
this.showfsss = true; | |||
this.mapClickLoading(); | |||
}, | |||
showPopup3() { | |||
this.show3 = true; | |||
this.mapClickLoading(); | |||
}, | |||
onSubmit(values) { | |||
console.log('submit', values); | |||
@@ -1529,7 +1545,18 @@ | |||
}else{ | |||
this.active=1 | |||
} | |||
} | |||
}, | |||
//地图加载js------start | |||
mapClickLoading(){ | |||
setTimeout(() => { | |||
this.$refs.drewingClickLoading.drawingPaceCountryDarw(); | |||
}, 500); | |||
}, | |||
/** 查找地图中定位点 */ | |||
MapTag: function (data) { | |||
this.form.theGeom = data; | |||
}, | |||
//地图加载js------end | |||
} | |||
} | |||
</script> | |||