{"version":3,"file":"FishAreaSymbol.mjs","sources":["../../../../../../../packages/sdk/plugins/AreaView/layer/FishAreaSymbol.ts"],"sourcesContent":["/*\n * @Author: Yolo\n * @Date: 2024-07-02 11:48:59\n * @Last Modified by: Yolo\n * @Last Modified time: 2024-07-02 13:25:17\n * @Desc 渔业协定水域\n */\n\nimport L from 'leaflet'\nimport {\n  AreaViewBase,\n  type AreaViewBaseOptions,\n} from '@map-sdk/sdk/plugins/AreaView/AreaViewBase'\nimport type { MyMap } from '@map-sdk/sdk/ShipxyAPISDK'\n\nclass FishAreaSymbol extends AreaViewBase {\n  layers: L.Polygon[] = []\n  myGroup!: L.LayerGroup<L.Polygon>\n  constructor(map: MyMap, options?: Partial<AreaViewBaseOptions>) {\n    super(map, options)\n    this._data = [\n      {\n        text: '中韩渔业协定暂定水域',\n        color: '#CB147F',\n        zoom: [1, 18],\n        img: 'url(https://cdn.xplusship.com/img/images/menu.png)',\n        latlngs: [\n          [37, 123.666666666667],\n          [36.3730555555556, 123.181111111111],\n          [35.5, 122.198333333333],\n          [35.5, 122.031666666667],\n          [34, 122.031666666667],\n          [34, 122.198333333333],\n          [33.3333333333333, 122.683333333333],\n          [32.3333333333333, 123.75],\n          [32.1833333333333, 123.825],\n          [32.1833333333333, 125.416666666667],\n          [33.3333333333333, 124.133333333333],\n          [34, 124.008333333333],\n          [35, 124.125],\n          [35.5, 124.5],\n          [36.75, 124.5],\n          [37, 124.333333333333],\n          [37, 123.666666666667],\n        ],\n      },\n      {\n        text: '中日渔业协定暂定水域',\n        color: '#CB147F',\n        zoom: [1, 18],\n        img: 'url(https://cdn.xplusship.com/img/images/menu.png)',\n        latlngs: [\n          [30.6666666666667, 124.168333333333],\n          [30, 123.94],\n          [29, 123.425],\n          [28, 122.798333333333],\n          [27, 121.956666666667],\n          [27, 125.971666666667],\n          [28, 127.251666666667],\n          [29, 128.015],\n          [30, 128.536666666667],\n          [30.6666666666667, 128.435],\n          [30.6666666666667, 124.168333333333],\n        ],\n      },\n      {\n        text: '中越渔业协定暂定水域',\n        color: '#CB147F',\n        zoom: [1, 18],\n        img: 'url(https://cdn.xplusship.com/img/images/menu.png)',\n        latlngs: [\n          [17.3938888888889, 107.578611111111],\n          [18.1555555555556, 108.338333333333],\n          [18.7402777777778, 107.6975],\n          [19.1358333333333, 107.6975],\n          [19.7166666666667, 108.341666666667],\n          [20, 108.708888888889],\n          [20, 107.961666666667],\n          [19.8761111111111, 107.961666666667],\n          [19.8761111111111, 107.483333333333],\n          [20, 107.483333333333],\n          [20, 107.128055555556],\n          [19.5519444444444, 106.621388888889],\n          [18.6666666666667, 106.621388888889],\n          [18.3161111111111, 106.885555555556],\n          [18, 107.031944444444],\n          [17.3938888888889, 107.578611111111],\n        ],\n      },\n      {\n        text: '中方过渡水域',\n        color: '#7848FF',\n        zoom: [7, 18],\n        img: 'url(https://cdn.xplusship.com/img/images/image.gif)',\n        latlngs: [\n          [35.5, 121.916667],\n          [35, 121.5],\n          [34, 121.5],\n          [33.333333, 122],\n          [31.833333, 123],\n          [31.833333, 124],\n          [32.333333, 123.75],\n          [33.333333, 122.683333],\n          [34, 122.198333],\n          [34, 122.031667],\n          [35.5, 122.031667],\n          [35.5, 121.916667],\n        ],\n      },\n      {\n        text: '韩方过渡水域',\n        color: '#7848FF',\n        zoom: [7, 18],\n        img: 'url(https://cdn.xplusship.com/img/images/image.gif)',\n        latlngs: [\n          [35.5, 124.5],\n          [35, 124.125],\n          [34, 124.008333],\n          [33.333333, 124.133333],\n          [32.183333, 125.416667],\n          [32.183333, 126.75],\n          [32.666667, 127],\n          [32.408333, 126.283333],\n          [32.483333, 125.958333],\n          [33.333333, 125.466667],\n          [34, 124.583333],\n          [34.416667, 124.55],\n          [35.5, 124.8],\n          [35.5, 124.5],\n        ],\n      },\n    ]\n  }\n\n  _show() {\n    this._hide()\n    this.layers = []\n    this.bounds = []\n    for (let i = 0; i < this._data.length; i++) {\n      const area = this._data[i]\n      const zoom = this._map.getZoom()\n      if (zoom >= area.zoom[0] && zoom <= area.zoom[1]) {\n        const layer = L.polygon(area.latlngs, {\n          fill: area.img,\n          color: area.color,\n          weight: 0,\n        }).addTo(this._map)\n        if (zoom >= 6) {\n          //CommUtils.setPolygonName(layer,area.text, {\n          //    repeat: false,\n          //    offset: -30,\n          //    center: true,//居中\n          //    attributes: {\n          //        fill: \"#000\",\n          //        'font-weight': '500',\n          //        'font-size': '14',\n          //        'font-family': \"微软雅黑\",\n          //        'letter-spacing': '6px',\n          //    }\n          //})\n          ;(layer as any).setText(area.text, {\n            repeat: false,\n            offset: -30,\n            center: true, //居中\n            attributes: {\n              fill: '#000',\n              'font-weight': '500',\n              'font-size': '14',\n              'font-family': '微软雅黑',\n              'letter-spacing': '6px',\n            },\n          })\n        }\n\n        this.layers.push(layer)\n        for (let j = 0; j < area.latlngs.length; j++) {\n          this.bounds.push(area.latlngs[j])\n        }\n      }\n    }\n\n    if (this.layers.length > 0) {\n      this.myGroup = L.layerGroup(this.layers)\n      this._map.addLayer(this.myGroup)\n    }\n  }\n  _hide() {\n    //清除所画区域\n    if (this.layers.length > 0) {\n      this.myGroup.clearLayers()\n      this.layers = []\n    }\n  }\n}\n\n// 实例化工厂方法\nconst fishAreaSymbol = (map: MyMap, options?: Partial<AreaViewBaseOptions>) =>\n  new FishAreaSymbol(map, options)\n\nexport { FishAreaSymbol, fishAreaSymbol }\n"],"names":["m","p","constructor","s","t","super","this","layers","_data","text","color","zoom","img","latlngs","_show","_hide","bounds","length","o","_map","getZoom","l","r","polygon","fill","weight","addTo","setText","repeat","offset","center","attributes","push","e","myGroup","layerGroup","addLayer","clearLayers","n","i","a"],"mappings":"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"}