Merge branch 'main' of http://47.109.205.240:3000/Web/digital-agriculture-admin
This commit is contained in:
commit
3338c77760
@ -23,10 +23,11 @@ const mapMixinLand = {
|
||||
},
|
||||
{
|
||||
id: '03',
|
||||
landPath:
|
||||
["99.853174,24.424073|99.850256,24.426105|99.855749,24.426731|99.880812,24.421885",
|
||||
|
||||
],
|
||||
landPath:
|
||||
[
|
||||
"99.853174,24.424073|99.850256,24.426105|99.855749,24.426731|99.880812,24.421885",
|
||||
"99.8587581,24.4150345|99.8603841,24.4127477|99.8581922,24.4129616"
|
||||
],
|
||||
fillColor: '#ba8ae3', fillOpacity: 0.8, strokeColor: "#ba8ae3", strokeWeight: 1, strokeOpacity: 0.8,
|
||||
},
|
||||
{
|
||||
@ -46,7 +47,7 @@ const mapMixinLand = {
|
||||
}
|
||||
|
||||
],
|
||||
overlayGroup:[],
|
||||
overlayGroup: [],
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
@ -94,7 +95,7 @@ const mapMixinLand = {
|
||||
// await this.createDevicePoint();
|
||||
},
|
||||
/** 绘制地块 */
|
||||
createAreaPolygon(type, ids,options) {
|
||||
createAreaPolygon(type, ids, options) {
|
||||
const label = [];
|
||||
let overlayGroupNew = [];
|
||||
// console.info('this.area', this.area)
|
||||
@ -105,78 +106,87 @@ const mapMixinLand = {
|
||||
areaList = this.staticArea.filter((m) => {
|
||||
return ids.includes(m.id)
|
||||
}) || []
|
||||
} else {areaList = [] }
|
||||
} else { areaList = [] }
|
||||
|
||||
} else { areaList = this.staticArea }
|
||||
|
||||
if(areaList.length>0){
|
||||
areaList.forEach((item) => {
|
||||
if (item.landPath) {
|
||||
const path = [];
|
||||
const pointList = [];
|
||||
if( item.landPath && item.landPath.length && item.landPath.length>0){
|
||||
item.landPath.forEach((k)=>{
|
||||
k.split('|').forEach((point) => {
|
||||
path.push(new this.AMap.LngLat(point.split(',')[0], point.split(',')[1]));
|
||||
pointList.push([Number(point.split(',')[0]), Number(point.split(',')[1])]);
|
||||
});
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
let colorVal='';
|
||||
if(options && options.length>0){
|
||||
let indexF=options.findIndex((m)=>{
|
||||
return m.id==item.id
|
||||
})
|
||||
colorVal=indexF>-1 ? options[indexF].color : ''
|
||||
}
|
||||
const polygon = new this.AMap.Polygon({
|
||||
path: path,
|
||||
fillColor:colorVal|| item.fillColor,
|
||||
fillOpacity: item.fillOpacity,
|
||||
strokeColor:colorVal || '',
|
||||
strokeWeight: colorVal|| item.fillColor,
|
||||
strokeOpacity: item.strokeOpacity,
|
||||
extData: {
|
||||
...item,
|
||||
},
|
||||
});
|
||||
polygon.on('click', (e) => {
|
||||
this.createInfoWindow(e);
|
||||
});
|
||||
|
||||
this.overlayGroup.push(polygon);
|
||||
if(type==false){
|
||||
overlayGroupNew.push(polygon)
|
||||
if (areaList.length > 0) {
|
||||
areaList.forEach((item) => {
|
||||
if (item.landPath) {
|
||||
if (item.landPath && item.landPath.length && item.landPath.length > 0) {
|
||||
|
||||
item.landPath.forEach((k) => {
|
||||
const path = [];
|
||||
const pointList = [];
|
||||
k.split('|').forEach((point) => {
|
||||
path.push(new this.AMap.LngLat(point.split(',')[0], point.split(',')[1]));
|
||||
pointList.push([Number(point.split(',')[0]), Number(point.split(',')[1])]);
|
||||
});
|
||||
|
||||
const polygon = new this.AMap.Polygon({
|
||||
path: path,
|
||||
fillColor: colorVal || item.fillColor,
|
||||
fillOpacity: item.fillOpacity,
|
||||
strokeColor: colorVal || '',
|
||||
strokeWeight: colorVal || item.fillColor,
|
||||
strokeOpacity: item.strokeOpacity,
|
||||
extData: {
|
||||
...item,
|
||||
},
|
||||
});
|
||||
|
||||
polygon.on('click', (e) => {
|
||||
this.createInfoWindow(e);
|
||||
});
|
||||
|
||||
this.overlayGroup.push(polygon);
|
||||
if (type == false) {
|
||||
overlayGroupNew.push(polygon)
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
|
||||
let colorVal = '';
|
||||
if (options && options.length > 0) {
|
||||
let indexF = options.findIndex((m) => {
|
||||
return m.id == item.id
|
||||
})
|
||||
colorVal = indexF > -1 ? options[indexF].color : ''
|
||||
}
|
||||
// const polygon = new this.AMap.Polygon({
|
||||
// path: path,
|
||||
// fillColor:colorVal|| item.fillColor,
|
||||
// fillOpacity: item.fillOpacity,
|
||||
// strokeColor:colorVal || '',
|
||||
// strokeWeight: colorVal|| item.fillColor,
|
||||
// strokeOpacity: item.strokeOpacity,
|
||||
// extData: {
|
||||
// ...item,
|
||||
// },
|
||||
// });
|
||||
// polygon.on('click', (e) => {
|
||||
// this.createInfoWindow(e);
|
||||
// });
|
||||
|
||||
// this.overlayGroup.push(polygon);
|
||||
// if(type==false){
|
||||
// overlayGroupNew.push(polygon)
|
||||
// }
|
||||
}
|
||||
// 添加地块名称
|
||||
label.push(
|
||||
new this.AMap.Text({
|
||||
text: item.landName ? item.landName : '名称',
|
||||
anchor: 'center',
|
||||
position: this.getAreaCenter(pointList),
|
||||
style: {
|
||||
background: 'transparent',
|
||||
color: '#fff',
|
||||
border: 'none',
|
||||
fontSize: '16px',
|
||||
},
|
||||
})
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
// this.map.add(new this.AMap.OverlayGroup(label));
|
||||
});
|
||||
}
|
||||
|
||||
if (type) {
|
||||
if(this.overlayGroup.length>0){
|
||||
this.map.add(new this.AMap.OverlayGroup(this.overlayGroup));
|
||||
this.map.setFitView(this.overlayGroup);
|
||||
this.map.setZoom(13)
|
||||
// this.map.moveCamera(CameraUpdateFactory.zoomTo(15))
|
||||
this.loading = false;
|
||||
}
|
||||
}else{
|
||||
if (this.overlayGroup.length > 0) {
|
||||
this.map.add(new this.AMap.OverlayGroup(this.overlayGroup));
|
||||
this.map.setFitView(this.overlayGroup);
|
||||
this.map.setZoom(13)
|
||||
// this.map.moveCamera(CameraUpdateFactory.zoomTo(15))
|
||||
this.loading = false;
|
||||
}
|
||||
} else {
|
||||
this.map.remove(this.overlayGroup)
|
||||
this.map.add(new this.AMap.OverlayGroup(overlayGroupNew));
|
||||
}
|
||||
@ -213,9 +223,9 @@ const mapMixinLand = {
|
||||
this.map.add(new this.AMap.OverlayGroup(devicePointList));
|
||||
this.loading = false;
|
||||
},
|
||||
upLayersIds(ids,options) {
|
||||
upLayersIds(ids, options) {
|
||||
console.info('upLayersIds**********', ids)
|
||||
this.createAreaPolygon(false, ids,options)
|
||||
this.createAreaPolygon(false, ids, options)
|
||||
},
|
||||
/** 获取地块中心点 */
|
||||
getAreaCenter(location) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user