首页显示不同图斑修改

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, maxzoom: 13,
minzoom: 10, 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 }); // map.setTerrain({ source: 'mapbox-dem', exaggeration: 1 });
// 2D // 2D
@ -240,26 +246,28 @@
const handlerGetDetails = (e) => { const handlerGetDetails = (e) => {
emits('handlerGetDetails', e.features[0].properties); 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 map_filter;
let table_filter = 'idle_shp'; let table_filter = 'view_shp_idle';
let field_filter = '&field="RelationId","RelationType","Id",'; let field_filter = '&field="SerialNumber","Type","Id",';
let color_filter: any = []; 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 != '全部') { if (filter && filter != '全部') {
map_filter = ['all', ['==', ['get', 'RelationType'], filter]]; map_filter = ['all', ['==', ['get', 'Type'], filter]];
} else { } else {
map_filter = ['!=', ['get', 'Id'], 0]; map_filter = ['!=', ['get', 'Id'], 0];
} }
color_filter = [ color_filter = [
"case", "case",
['all', ['==', ['get', 'RelationType'], 0]], ['all', ['==', ['get', 'Type'], 3]],
"#0AF703", "#0AF703",
['all', ['==', ['get', 'RelationType'], 1]], ['all', ['==', ['get', 'Type'], 2]],
"#F70303", "#F70303",
['all', ['==', ['get', 'RelationType'], 2]], ['all', ['==', ['get', 'Type'], 1]],
"#F4E004", "#F4E004",
['all', ['==', ['get', 'RelationType'], 3]], ['all', ['==', ['get', 'Type'], 5]],
"#0382F7", "#0382F7",
"#FFFFFF" "#FFFFFF"
] ]
@ -267,8 +275,10 @@
if (map.getLayer('historyLayerLine')) { if (map.getLayer('historyLayerLine')) {
map.removeLayer('historyLayerLine'); map.removeLayer('historyLayerLine');
map.removeLayer('historyLayerFill'); map.removeLayer('historyLayerFill');
map.removeLayer('historyLayerSymbol');
map.removeSource('historyLayerLine'); map.removeSource('historyLayerLine');
map.removeSource('historyLayerFill'); map.removeSource('historyLayerFill');
map.removeSource('historyLayerSymbol');
} }
map.addLayer({ map.addLayer({
id: 'historyLayerLine', id: 'historyLayerLine',
@ -277,7 +287,7 @@
type: 'vector', type: 'vector',
tiles: [ tiles: [
VITE_GLOB_API_URL_VAR.value + 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 + table_filter +
field_filter + field_filter +
url_filter, url_filter,
@ -307,7 +317,7 @@
type: 'vector', type: 'vector',
tiles: [ tiles: [
VITE_GLOB_API_URL_VAR.value + 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 + table_filter +
field_filter + field_filter +
url_filter, url_filter,
@ -326,6 +336,29 @@
'fill-opacity': 0.5, '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'); emits('onload');
map.off('click', 'historyLayerFill', handlerGetDetails) map.off('click', 'historyLayerFill', handlerGetDetails)
map.on('click', 'historyLayerFill', handlerGetDetails); map.on('click', 'historyLayerFill', handlerGetDetails);
@ -536,8 +569,8 @@
} }
}; };
const handlerChangeLayer = (list) => { const handlerChangeLayer = (list) => {
let filterJosn = `&filter="RelationType" IN (${list.length > 0? list.join(','): -1})` let filterJosn = `&filter="Type" IN (${list.length > 0? list.join(','): -1})`
handlerLoadPolygon("","","","",filterJosn) handlerLoadPolygon("","","","",list)
} }
// //
defineExpose({ defineExpose({

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

Loading…
Cancel
Save