import { openRecordPop } from "../_"; import BaseLayer from "./baselayer"; const SHAPE3 = { id: '县名称', type: 'symbol', source: 'adcd', filter: ['==', 'level', 4], minzoom: 1, maxzoom: 12, layout: { 'icon-allow-overlap': true, 'text-allow-overlap': true, 'icon-image': 'adcd4', 'icon-size': 0.6, 'text-size': 16, 'text-font': ['Roboto Black'], 'text-field': ['get', 'NAME'], 'text-offset': [0, 0.6], 'text-anchor': 'top', 'text-max-width': 6, }, paint: { 'text-color': '#fffab8', 'text-halo-color': 'hsl(0, 0%, 20%)', 'text-halo-width': 0.5 } }; const SHAPE4 = { 'id': '乡镇名称', 'type': 'symbol', 'source': 'adcd', filter: ['==', 'level', 5], 'minzoom': 1, 'maxzoom': 14, 'layout': { 'icon-image': 'adcd5', 'icon-size': 0.4, 'text-size': 13, 'text-font': ['Roboto Black'], 'text-field': ['get', 'NAME'], 'text-offset': [0, 0.6], 'text-anchor': 'top', 'text-max-width': 6, }, 'paint': { 'text-color': '#fffab8', 'text-halo-color': '#062040', 'text-halo-width': 1 } }; const SHAPE5 = { 'id': '村名称', 'type': 'symbol', 'source': 'adcd', filter: ['==', 'level', 6], 'minzoom': 12, 'maxzoom': 18, 'layout': { 'icon-image': 'adcd6', 'icon-size': 0.4, 'text-size': 12, 'text-font': ['Roboto Black'], 'text-field': ['get', 'NAME'], 'text-offset': [0, 0.6], 'text-anchor': 'top', 'text-max-width': 6 }, 'paint': { 'text-color': '#fff', 'text-halo-color': '#062040', 'text-halo-width': 1 } }; const SHAPE6 = { 'id': '组名称', 'type': 'symbol', 'source': 'adcd', filter: ['==', 'level', 7], 'minzoom': 13, 'maxzoom': 18, 'layout': { 'icon-image': 'adcd7', 'icon-size': 0.4, 'text-size': 11, 'text-font': ['Roboto Black'], 'text-field': ['get', 'NAME'], 'text-offset': [0, 0.6], 'text-anchor': 'top', 'text-max-width': 6 }, 'paint': { 'text-color': '#fff', 'text-halo-color': '#062040', 'text-halo-width': 1 } }; export default class AdcdLayer extends BaseLayer { getStyle(index) { let shp; if (index === 1) { shp = SHAPE4; } else if (index === 2) { shp = SHAPE5; } else if (index === 3) { shp = SHAPE6; } else { shp = SHAPE3; } this._setStyleVisibility(shp); return shp; } getName() { return 'AdcdLayer'; } getSubLayers() { return [SHAPE3.id, SHAPE4.id, SHAPE5.id, SHAPE6.id]; } getRefreshInterval() { return 0; } async doRefreshLayer() { return true; } getFeatureTip() { return null; } featureClicked(properties, dispatch) { console.log(properties); openRecordPop(dispatch, 'adcd', properties) } }