// leaflet获取服务图层的要素信息
export function getWMSData(map, layer, location) {
var url = layer._url +
'?service=WMS' +
'&version=1.1.0' +
'&request=GetFeatureInfo' +
'&layers=' + layer.wmsParams.layers +
'&styles=' +
'&format=image/png' +
'&transparent=true' +
'&info_format=application/json' +
'&srs=EPSG:4326' +
'&bbox=' + map.getBounds().toBBoxString() +
'&width=' + map.getSize().x +
'&height=' + map.getSize().y +
'&query_layers=' + layer.wmsParams.layers +
'&feature_count=1' +
'&x=' + round(location.x) +
'&y=' + round(location.y);
return new Promise((resolve, reject) => {
axios.request({
url: url,
method: 'GET'
}).then(res => {
if (res.status == 200 && res.data.features.length > 0)
resolve(res.data.features[0].properties)
})
})
}
// 查询地块信息
//event 点击事件e,fillLayer图层,map地图
getWMSData(this.map, this.fillLayer, event.containerPoint).then(res => {
const loading = this.$loading({
lock: true,
text: '加载中',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
getFillData({ id: res['名称'] }).then(data => {
if (data.code == 200) {
this.massifInfo = data.datas[0]
this.showMassif = true
}
loading.close();
})
})