Newer
Older
KaiFengPC / src / views / gisMapPage / addPSFQarea.js
@jimengfei jimengfei on 6 Jun 5 KB updata
import YSFQ1 from '@/assets/geojson/kaifeng/kaifengPSFQ1.json';
import YSFQlabel1 from '@/assets/geojson/kaifeng/kaifengPSFQlabel1.json';
import YSFQline1 from '@/assets/geojson/kaifeng/kaifengPSFQline1.json';

import YSFQ2 from '@/assets/geojson/kaifeng/kaifengPSFQ2.json';
import YSFQlabel2 from '@/assets/geojson/kaifeng/kaifengPSFQlabel2.json';
import YSFQline2 from '@/assets/geojson/kaifeng/kaifengPSFQline2.json';

import YSFQ3 from '@/assets/geojson/kaifeng/kaifengPSFQ3.json';
import YSFQlabel3 from '@/assets/geojson/kaifeng/kaifengPSFQlabel3.json';
import YSFQline3 from '@/assets/geojson/kaifeng/kaifengPSFQline3.json';

export default class kaifengPSFQarea {
  static addPSFQ1(map, minzoom, maxzoom, visible) {
    !!!map.getSource('YSFQ1') && map.addSource('YSFQ1', { type: 'geojson', data: YSFQ1 });
    !!!map.getLayer('YSFQ1') &&
      map.addLayer({
        id: 'YSFQ1',
        type: 'fill',
        source: 'YSFQ1',
        minzoom: minzoom,
        maxzoom: maxzoom,
        paint: {
          'fill-color': ['get', 'fillcolor'],
        },
        layout: {
          visibility: visible,
        },
      });
    !!!map.getSource('YSFQlabel1') && map.addSource('YSFQlabel1', { type: 'geojson', data: YSFQlabel1 });
    !!!map.getLayer('YSFQlabel1') &&
      map.addLayer({
        id: 'YSFQlabel1',
        type: 'symbol',
        source: 'YSFQlabel1',
        minzoom: minzoom,
        maxzoom: maxzoom,
        layout: {
          visibility: visible,
          'text-field': ['get', 'name'],
          'text-font': ['KlokanTech Noto Sans Regular'],
          'text-size': 16,
          'text-line-height': 2,
          'text-anchor': 'bottom',
        },
        paint: {
          'text-color': '#ffffff',
        },
      });
    !!!map.getSource('YSFQline1') && map.addSource('YSFQline1', { type: 'geojson', data: YSFQline1 });
    !!!map.getLayer('YSFQline1') &&
      map.addLayer({
        id: 'YSFQline1',
        type: 'line',
        source: 'YSFQline1',
        minzoom: minzoom,
        maxzoom: maxzoom,
        layout: {
          visibility: visible,
        },
        paint: {
          'line-color': ['get', 'outcolor'],
          'line-width': 3,
        },
      });
  }

  static addPSFQ2(map, minzoom, maxzoom, visible) {
    !!!map.getSource('YSFQ2') && map.addSource('YSFQ2', { type: 'geojson', data: YSFQ2 });
    !!!map.getLayer('YSFQ2') &&
      map.addLayer({
        id: 'YSFQ2',
        type: 'fill',
        source: 'YSFQ2',
        minzoom: minzoom,
        maxzoom: maxzoom,
        paint: {
          'fill-color': ['get', 'fillcolor'],
        },
        layout: {
          visibility: visible,
        },
      });
    !!!map.getSource('YSFQlabel2') && map.addSource('YSFQlabel2', { type: 'geojson', data: YSFQlabel2 });
    !!!map.getLayer('YSFQlabel2') &&
      map.addLayer({
        id: 'YSFQlabel2',
        type: 'symbol',
        source: 'YSFQlabel2',
        minzoom: minzoom,
        maxzoom: maxzoom,
        layout: {
          visibility: visible,
          'text-field': ['get', 'name'],
          'text-font': ['KlokanTech Noto Sans Regular'],
          'text-size': 16,
          'text-line-height': 2,
          'text-anchor': 'bottom',
        },
        paint: {
          'text-color': '#ffffff',
        },
      });
    !!!map.getSource('YSFQline2') && map.addSource('YSFQline2', { type: 'geojson', data: YSFQline2 });
    !!!map.getLayer('YSFQline2') &&
      map.addLayer({
        id: 'YSFQline2',
        type: 'line',
        source: 'YSFQline2',
        minzoom: minzoom,
        maxzoom: maxzoom,
        layout: {
          visibility: visible,
        },
        paint: {
          'line-color': ['get', 'outcolor'],
          'line-width': 3,
        },
      });
  }

  static addPSFQ3(map, minzoom, visible) {
    !!!map.getSource('YSFQ3') && map.addSource('YSFQ3', { type: 'geojson', data: YSFQ3 });
    !!!map.getLayer('YSFQ3') &&
      map.addLayer({
        id: 'YSFQ3',
        type: 'fill',
        source: 'YSFQ3',
        minzoom: minzoom,

        paint: {
          'fill-color': ['get', 'fillcolor'],
        },
        layout: {
          visibility: visible,
        },
      });
    !!!map.getSource('YSFQlabel3') && map.addSource('YSFQlabel3', { type: 'geojson', data: YSFQlabel3 });
    !!!map.getLayer('YSFQlabel3') &&
      map.addLayer({
        id: 'YSFQlabel3',
        type: 'symbol',
        source: 'YSFQlabel3',
        minzoom: minzoom,

        layout: {
          visibility: visible,
          'text-field': ['get', 'name'],
          'text-font': ['KlokanTech Noto Sans Regular'],
          'text-size': 16,
          'text-line-height': 2,
          'text-anchor': 'bottom',
        },
        paint: {
          'text-color': '#ffffff',
        },
      });
    !!!map.getSource('YSFQline3') && map.addSource('YSFQline3', { type: 'geojson', data: YSFQline3 });
    !!!map.getLayer('YSFQline3') &&
      map.addLayer({
        id: 'YSFQline3',
        type: 'line',
        source: 'YSFQline3',
        minzoom: minzoom,
        layout: {
          visibility: visible,
        },
        paint: {
          'line-color': ['get', 'outcolor'],
          'line-width': 3,
        },
      });
  }
  static removePSFQ1(map) {
    if (map.getLayer('YSFQ1')) {
      map.removeLayer('YSFQ1') && map.removeSource('YSFQ1');
      map.removeLayer('YSFQlabel1') && map.removeSource('YSFQlabel1');
      map.removeLayer('YSFQline1') && map.removeSource('YSFQline1');
    }
  }
  static removePSFQ2(map) {
    if (map.getLayer('YSFQ2')) {
      map.removeLayer('YSFQ2') && map.removeSource('YSFQ2');
      map.removeLayer('YSFQlabel2') && map.removeSource('YSFQlabel2');
      map.removeLayer('YSFQline2') && map.removeSource('YSFQline2');
    }
  }
  static removePSFQ3(map) {
    if (map.getLayer('YSFQ3')) {
      map.removeLayer('YSFQ3') && map.removeSource('YSFQ3');
      map.removeLayer('YSFQlabel3') && map.removeSource('YSFQlabel3');
      map.removeLayer('YSFQline3') && map.removeSource('YSFQline3');
    }
  }
}