首页显示不同图斑修改

main
zhufu 7 months ago
parent 8ea80fc418
commit 9689245a51

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

@ -133,6 +133,12 @@
maxzoom: 13,
minzoom: 10,
});
map.loadImage('/homepage/nong.png', (error, image) => {
if (error) throw error;
if (!map.hasImage('nongji-marker')) {
map.addImage('nongji-marker', image);
}
});
// map.setTerrain({ source: 'mapbox-dem', exaggeration: 1 });
// 2D
@ -240,26 +246,28 @@
const handlerGetDetails = (e) => {
emits('handlerGetDetails', e.features[0].properties);
}
function handlerLoadPolygon(code = '', filter = '', type = '', level = '', urlFilter='&filter="RelationType" IN (-1)') {
function handlerLoadPolygon(code = '', filter = '', type = '', level = '', filterList:any[]=[]) {
let map_filter;
let table_filter = 'idle_shp';
let field_filter = '&field="RelationId","RelationType","Id",';
let table_filter = 'view_shp_idle';
let field_filter = '&field="SerialNumber","Type","Id",';
let color_filter: any = [];
let url_filter = urlFilter;
let nongji_url_filter = `&filter="Type" IN (${filterList.includes(4)? '4': '-1'})`
filterList = filterList.filter(item => item != 4)
let url_filter = `&filter="Type" IN (${filterList.length > 0? filterList.join(','): -1})`
if (filter && filter != '全部') {
map_filter = ['all', ['==', ['get', 'RelationType'], filter]];
map_filter = ['all', ['==', ['get', 'Type'], filter]];
} else {
map_filter = ['!=', ['get', 'Id'], 0];
}
color_filter = [
"case",
['all', ['==', ['get', 'RelationType'], 0]],
['all', ['==', ['get', 'Type'], 3]],
"#0AF703",
['all', ['==', ['get', 'RelationType'], 1]],
['all', ['==', ['get', 'Type'], 2]],
"#F70303",
['all', ['==', ['get', 'RelationType'], 2]],
['all', ['==', ['get', 'Type'], 1]],
"#F4E004",
['all', ['==', ['get', 'RelationType'], 3]],
['all', ['==', ['get', 'Type'], 5]],
"#0382F7",
"#FFFFFF"
]
@ -267,8 +275,10 @@
if (map.getLayer('historyLayerLine')) {
map.removeLayer('historyLayerLine');
map.removeLayer('historyLayerFill');
map.removeLayer('historyLayerSymbol');
map.removeSource('historyLayerLine');
map.removeSource('historyLayerFill');
map.removeSource('historyLayerSymbol');
}
map.addLayer({
id: 'historyLayerLine',
@ -277,7 +287,7 @@
type: 'vector',
tiles: [
VITE_GLOB_API_URL_VAR.value +
'/api/IdleShp/QueryVectorTileByTable?z={z}&x={x}&y={y}&table=' +
'/api/IdleLand/QueryVectorTileByTable?z={z}&x={x}&y={y}&table=' +
table_filter +
field_filter +
url_filter,
@ -307,7 +317,7 @@
type: 'vector',
tiles: [
VITE_GLOB_API_URL_VAR.value +
'/api/IdleShp/QueryVectorTileByTable?z={z}&x={x}&y={y}&table=' +
'/api/IdleLand/QueryVectorTileByTable?z={z}&x={x}&y={y}&table=' +
table_filter +
field_filter +
url_filter,
@ -326,6 +336,29 @@
'fill-opacity': 0.5,
},
});
map.addLayer({
id: 'historyLayerSymbol',
type: 'symbol',
source: {
type: 'vector',
tiles: [
VITE_GLOB_API_URL_VAR.value +
'/api/IdleLand/QueryVectorTileByTable?z={z}&x={x}&y={y}&table=' +
table_filter +
field_filter +
nongji_url_filter,
],
minzoom: 1,
maxzoom: 20,
},
'source-layer': table_filter,
layout: {
'icon-image': 'nongji-marker',
'icon-size': 0.8,
'icon-allow-overlap': true,
'icon-anchor': 'bottom',
},
});
emits('onload');
map.off('click', 'historyLayerFill', handlerGetDetails)
map.on('click', 'historyLayerFill', handlerGetDetails);
@ -536,8 +569,8 @@
}
};
const handlerChangeLayer = (list) => {
let filterJosn = `&filter="RelationType" IN (${list.length > 0? list.join(','): -1})`
handlerLoadPolygon("","","","",filterJosn)
let filterJosn = `&filter="Type" IN (${list.length > 0? list.join(','): -1})`
handlerLoadPolygon("","","","",list)
}
//
defineExpose({

@ -30,22 +30,22 @@
const dataLayerList = ref([
{
id:1,
id:2,
name:"房屋",
checked:false,
},
{
id:0,
id:3,
name:"土地资源",
checked:false,
},
{
id:3,
id:5,
name:"水域",
checked:false,
},
{
id:2,
id:1,
name:"农业生产设施",
checked:false,
},

Loading…
Cancel
Save