|
|
@@ -32,6 +32,8 @@ export default { |
|
|
|
drawingResetMap: this.guidProduct(), |
|
|
|
positioningMap: this.guidProduct(), |
|
|
|
newZb: null, |
|
|
|
newGeom: null, |
|
|
|
mapData: null, |
|
|
|
}; |
|
|
|
}, |
|
|
|
props: ['theGeom','message'], |
|
|
@@ -111,6 +113,7 @@ export default { |
|
|
|
maxZoom: 18.3, //地图放大限制 |
|
|
|
}), |
|
|
|
}); |
|
|
|
that.mapData= that.message; |
|
|
|
//图层查询定位开始 ---------start |
|
|
|
if(this.message.substring(0,1) =="{"){ |
|
|
|
//that.newHt ="1"; |
|
|
@@ -202,6 +205,7 @@ export default { |
|
|
|
//图层查询定位结束 ---------end |
|
|
|
//开始绘制地图 |
|
|
|
$("#"+this.drawingPolygonMap).click(function () { |
|
|
|
that.newGeom = 1; |
|
|
|
map.removeLayer(hc_land); |
|
|
|
map.removeLayer(vector_drawing); |
|
|
|
//that.closeMoule = null; |
|
|
@@ -241,6 +245,7 @@ export default { |
|
|
|
// }); |
|
|
|
//还原之前图层 |
|
|
|
$("#"+this.drawingResetMap).click(function () { |
|
|
|
that.newGeom = 2; |
|
|
|
if(that.closeMoule !=null) { |
|
|
|
map.addLayer(hc_land); |
|
|
|
map.removeInteraction(draw); |
|
|
@@ -250,9 +255,186 @@ export default { |
|
|
|
}); |
|
|
|
//定位当前绘制图层 |
|
|
|
$("#"+this.positioningMap).click(function () { |
|
|
|
setTimeout(() => { |
|
|
|
that.drawingPaceCountryDarw(); |
|
|
|
}, 100); |
|
|
|
//图层查询定位开始 ---------start |
|
|
|
console.log(that.message); |
|
|
|
console.log(that.closeMoule); |
|
|
|
console.log(that.newGeom); |
|
|
|
// var dwmap; |
|
|
|
// if(that.closeMoule != null && that.closeMoule !=""){ |
|
|
|
// dwmap = JSON.stringify(that.closeMoule); |
|
|
|
// }else { |
|
|
|
// console.log(that.newGeom); |
|
|
|
// dwmap = JSON.stringify(that.newGeom); |
|
|
|
// } |
|
|
|
var deMap = JSON.stringify(that.closeMoule); |
|
|
|
if(that.newGeom == 1){ |
|
|
|
if(deMap.substring(0,1) =="{"){ |
|
|
|
//that.newHt ="1"; |
|
|
|
// var theGeomMap =this.message.replace("Point", "MultiPolygon"); |
|
|
|
// var pointLeft = theGeomMap.replace("[", "[[[["); |
|
|
|
// var pointRight = pointLeft.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\":" + deMap + "}"), |
|
|
|
}), |
|
|
|
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_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, // 缩放持续时间,默认不需要设置 |
|
|
|
}); |
|
|
|
// let resolution = map.getView().getResolutionForExtent([maxXMap, maxYMap, minXMap, minYMap],map.getSize()); |
|
|
|
// map.getView().fit([maxXMap, maxYMap, minXMap, minYMap]); |
|
|
|
// map.getView().setResolution(resolution); |
|
|
|
} else if(deMap.substring(0,1) =="[") { |
|
|
|
//that.newHt ="1"; |
|
|
|
var zbNew = JSON.stringify({"type": "MultiPolygon", "coordinates": [deMap.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_land); |
|
|
|
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: 16.9, // 缩放级别 |
|
|
|
rotation: undefined, // 缩放完成view视图旋转弧度 |
|
|
|
duration: 1000, // 缩放持续时间,默认不需要设置 |
|
|
|
}); |
|
|
|
} |
|
|
|
} else { |
|
|
|
console.log(that.mapData); |
|
|
|
if(that.mapData.substring(0,1) =="{"){ |
|
|
|
//that.newHt ="1"; |
|
|
|
// var theGeomMap =this.message.replace("Point", "MultiPolygon"); |
|
|
|
// var pointLeft = theGeomMap.replace("[", "[[[["); |
|
|
|
// var pointRight = pointLeft.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\":" + that.mapData + "}"), |
|
|
|
}), |
|
|
|
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_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, // 缩放持续时间,默认不需要设置 |
|
|
|
}); |
|
|
|
// let resolution = map.getView().getResolutionForExtent([maxXMap, maxYMap, minXMap, minYMap],map.getSize()); |
|
|
|
// map.getView().fit([maxXMap, maxYMap, minXMap, minYMap]); |
|
|
|
// map.getView().setResolution(resolution); |
|
|
|
} else if(that.mapData.substring(0,1) =="[") { |
|
|
|
//that.newHt ="1"; |
|
|
|
var zbNew = JSON.stringify({"type": "MultiPolygon", "coordinates": [that.mapData.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_land); |
|
|
|
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: 16.9, // 缩放级别 |
|
|
|
rotation: undefined, // 缩放完成view视图旋转弧度 |
|
|
|
duration: 1000, // 缩放持续时间,默认不需要设置 |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
} else{ |
|
|
|
//this.closeMoule = null; |
|
|
@@ -439,12 +621,13 @@ export default { |
|
|
|
console.log(that.newZb); |
|
|
|
//图层查询定位开始 ---------start |
|
|
|
//if(){} |
|
|
|
//map.removeLayer(hc_landFuther); |
|
|
|
if(that.newZb.substring(0,1) =="{"){ |
|
|
|
//that.newHt ="1"; |
|
|
|
// var theGeomMap =this.message.replace("Point", "MultiPolygon"); |
|
|
|
// var pointLeft = theGeomMap.replace("[", "[[[["); |
|
|
|
// var pointRight = pointLeft.replace("]", "]]]]"); |
|
|
|
hc_land = new ol.layer.Vector({ |
|
|
|
hc_landFuther = new ol.layer.Vector({ |
|
|
|
title: "add Layer", |
|
|
|
source: new ol.source.Vector({ |
|
|
|
projection: projection, |
|
|
@@ -464,11 +647,11 @@ export default { |
|
|
|
}), |
|
|
|
}), |
|
|
|
}); |
|
|
|
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; |
|
|
|
//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({ |
|
|
@@ -486,7 +669,7 @@ export default { |
|
|
|
var zbNew = JSON.stringify({"type": "MultiPolygon", "coordinates": [that.newZb.replaceAll("\"","")]}); |
|
|
|
var leftJoin = zbNew.replace("\"[","["); |
|
|
|
var rightJoin = leftJoin.replace("\"]","]"); |
|
|
|
hc_land = new ol.layer.Vector({ |
|
|
|
hc_landFuther = new ol.layer.Vector({ |
|
|
|
title: "add Layer", |
|
|
|
source: new ol.source.Vector({ |
|
|
|
projection: projection, |
|
|
@@ -506,11 +689,11 @@ export default { |
|
|
|
}), |
|
|
|
}), |
|
|
|
}); |
|
|
|
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; |
|
|
|
//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({ |
|
|
|