Commit e70af515 authored by 王晓倩's avatar 王晓倩

Merge branch 'master' of ssh://111.61.77.35:15/lizhichao/whp-xl

parents 2b80e268 77a9e69c
...@@ -306,33 +306,13 @@ export default class Mutil { ...@@ -306,33 +306,13 @@ export default class Mutil {
//对获取的点坐标数据进行处理,重构,得到我们需要的数据结构 //对获取的点坐标数据进行处理,重构,得到我们需要的数据结构
for (let i = 0; i < points.length; i++) { for (let i = 0; i < points.length; i++) {
let region = points[i]; //单个面 let region = points[i]; //单个面
//let pointArr = region.split(',');
//let p = pointArr[j];
let pArr = region.split(','); let pArr = region.split(',');
let pos = fromLonLat(pArr); //将坐标转为默认投影,默认投影是EPSG:3857 let pos = fromLonLat(pArr); //将坐标转为默认投影,默认投影是EPSG:3857
let hdms = transform(pos, 'EPSG:3857', 'EPSG:4326'); //坐标系间坐标转换,由前面的坐标转为后面坐标系坐标 //let hdms = transform(pos, 'EPSG:3857', 'EPSG:4326'); //坐标系间坐标转换,由前面的坐标转为后面坐标系坐标
pointsz.push(pArr) //将转化格式后的点坐标存储起来 pointsz.push(pos) //将转化格式后的点坐标存储起来
}; };
//自己造的地图数据(GeoJSON数据) //自己造的地图数据(GeoJSON数据)
let geojsonObject = { let geojsonObject = this.structureGeojson(pointsz);
'type': 'FeatureCollection', //要素集合
'crs': {
'type': 'name',
'properties': { //特性
'name': 'EPSG:3857'
}
},
'features': [{ //要素
'type': 'Feature',
'geometry': { //几何图形
'type': 'GeometryCollection', //几何图形集合
'geometries': [{ //几何形状
'type': 'Polygon', //多边形
'coordinates': [pointsz] //坐标
}]
}
}]
};
let vectorSource = new VectorSource({ //提供矢量图层的数据 let vectorSource = new VectorSource({ //提供矢量图层的数据
features: (new GeoJSON().readFeatures(geojsonObject)) features: (new GeoJSON().readFeatures(geojsonObject))
}); });
...@@ -340,11 +320,11 @@ export default class Mutil { ...@@ -340,11 +320,11 @@ export default class Mutil {
source: vectorSource, //来源 source: vectorSource, //来源
style: new Style({ style: new Style({
stroke: new Stroke({ stroke: new Stroke({
color: 'yellow', color: '#08d527',
width: 6 width: 4
}), }),
fill: new Fill({ fill: new Fill({
color: 'rgba(255,255,0,0.1)' color: 'rgba(212, 220, 29, 0.1)'
}) })
}) })
}); });
...@@ -355,17 +335,35 @@ export default class Mutil { ...@@ -355,17 +335,35 @@ export default class Mutil {
this.MAP.addLayer(vectorLayer); this.MAP.addLayer(vectorLayer);
this.tempLayer = vectorLayer; this.tempLayer = vectorLayer;
} }
structureGeojson(pointsz){
let geojsonObject = {
'type': 'FeatureCollection', //要素集合
'crs': {
'type': 'name',
'properties': { //特性
'name': 'EPSG:3857'
}
},
'features': [{ //要素
'type': 'Feature',
'geometry': { //几何图形
'type': 'GeometryCollection', //几何图形集合
'geometries': [{ //几何形状
'type': 'Polygon', //多边形
'coordinates': [pointsz] //坐标
}]
}
}]
};
return geojsonObject;
}
changeCenter(name) { //根据name传参 getBoundaries(name) { //根据name传参
axios.get('https://restapi.amap.com/v3/config/district?key=cb087c0fb3b8bc56a4af064630495bb9&subdistrict=0&extensions=all&keywords='+name).then(res => { axios.get('https://restapi.amap.com/v3/config/district?key=cb087c0fb3b8bc56a4af064630495bb9&subdistrict=0&extensions=all&keywords='+name).then(res => {
let local = res.data.districts[0].center.split(","); let local = res.data.districts[0].center.split(",");
let view = new View({ let view = this.MAP.getView();
center: transform(fromLonLat(local), 'EPSG:3857', 'EPSG:4326'), //将中心点坐标转为EPSG:4326 view.setCenter(fromLonLat(local));
projection: get('EPSG:4326'), //投影坐标系 EPSG:4326 view.setZoom(10);
zoom: 10
});
this.MAP.setView(view);
this.drawArea(res.data.districts[0]) this.drawArea(res.data.districts[0])
}) })
} }
......
...@@ -261,7 +261,7 @@ export default class GIS extends Vue { ...@@ -261,7 +261,7 @@ export default class GIS extends Vue {
if (id) that.getPopcon(id); if (id) that.getPopcon(id);
}) })
this.getStatiData(); this.getStatiData();
this.Mutil.changeCenter("石家庄"); this.Mutil.getBoundaries("石家庄");
} }
getStatiData() { getStatiData() {
let that = this; let that = this;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment