map-ol-utils 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +18 -3
- package/dist/index.d.ts +18 -3
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var le=Object.create;var f=Object.defineProperty,me=Object.defineProperties,pe=Object.getOwnPropertyDescriptor,ge=Object.getOwnPropertyDescriptors,ue=Object.getOwnPropertyNames,b=Object.getOwnPropertySymbols,fe=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty,he=Object.prototype.propertyIsEnumerable;var B=(t,e,r)=>e in t?f(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,M=(t,e)=>{for(var r in e||(e={}))I.call(e,r)&&B(t,r,e[r]);if(b)for(var r of b(e))he.call(e,r)&&B(t,r,e[r]);return t},F=(t,e)=>me(t,ge(e));var de=(t,e)=>{for(var r in e)f(t,r,{get:e[r],enumerable:!0})},D=(t,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ue(e))!I.call(t,s)&&s!==r&&f(t,s,{get:()=>e[s],enumerable:!(a=pe(e,s))||a.enumerable});return t};var p=(t,e,r)=>(r=t!=null?le(fe(t)):{},D(e||!t||!t.__esModule?f(r,"default",{value:t,enumerable:!0}):r,t)),Le=t=>D(f({},"__esModule",{value:!0}),t);var Me={};de(Me,{activeMarkerByUid:()=>ne,addMassMarksLayer:()=>ce,buildMassMarksStyles:()=>A,createAnimationMarker:()=>ae,createBaseLayer:()=>h,createGeoJsonLayer:()=>g,createMapInstance:()=>U,createMapWorldLayer:()=>Y,createMassMarksLayer:()=>C,createSelectByLayer:()=>S,createVectorFaceLayer:()=>te,createVectorLineLayer:()=>re,disposeMap:()=>V,emitter:()=>x,getMapInstance:()=>P,instance:()=>o,removeAllLayers:()=>oe,resetActiveMarker:()=>se,resetActiveVector:()=>ee,resetMap:()=>T,resetZoomAndCenter:()=>j,updateMarksLayersByStatus:()=>ie});module.exports=Le(Me);var E=p(require("mitt"),1),ve=(0,E.default)(),x=ve;var J=require("ol/source"),W=require("ol/source"),X=require("ol/tilegrid"),k=require("ol/layer");var G=p(require("ol/Map"),1),N=p(require("ol/View"),1),_=require("ol/control");var o,U=(t={})=>{let e=Object.assign({zoom:9,maxZoom:18,minZoom:9,baseLayer:"vec-layer",projection:"EPSG:4326",layers:[h()],smoothExtentConstraint:!1,tk:"c77eddc667c5bed016fded560baf93e7",center:[119.5326450625435,29.8845606679097]},t||{});return o?(o.getLayers().on("remove",a=>{let s=a.element;o.removeInteraction(s.get("_selectInteraction"))}),o):(o=new G.default({view:new N.default(e),controls:(0,_.defaults)({attribution:!1,zoom:!1,rotate:!1}),layers:e.layers||[h()]}),o.activeBaseLayer=e.baseLayer,o.getLayerByName=O,o.removeLayerByName=Z,o.changeLayersByNames=$,o.on("pointermove",a=>{o.getTargetElement().style.cursor=o.hasFeatureAtPixel(a.pixel)?"pointer":""}),o)},V=()=>{o.getAllLayers().forEach(e=>{o.removeLayer(e)}),o.setTarget(""),o=void 0},P=()=>{},T=()=>{},j=()=>{};var R=p(require("ol/tilegrid/WMTS"),1),h=(t=!0)=>new k.Tile({zIndex:1,minZoom:8,maxZoom:21,source:new J.XYZ({tileGrid:new X.TileGrid({tileSize:256,resolutions:[.005492298,.002746149,.0013730745,.00068653725,.000343268625,.0001716343125,8581715625e-14,42908578125e-15,214542890625e-16,1072714453125e-17,5363572265625e-18,26817861328125e-19,134089306640625e-20],origin:[118.122911693886,31.2869311022836],extent:[118.340502132662,29.2073269598186,120.724787992425,30.5617943760008]}),projection:"EPSG:4326",urls:t?["https://ywtg.citybrain.hangzhou.gov.cn:9456/hzsyvector_dark/{z}/{y}/{x}","https://ywtg.citybrain.hangzhou.gov.cn:9457/hzsyvector_dark/{z}/{y}/{x}","https://ywtg.citybrain.hangzhou.gov.cn:9458/hzsyvector_dark/{z}/{y}/{x}","https://ywtg.citybrain.hangzhou.gov.cn:9459/hzsyvector_dark/{z}/{y}/{x}","https://cb.hangzhoumap.gov.cn/E36CCEA93443D1495DB9B9F2B2FFE348CB1A367D75176F815040AB19E54CDCA5DAAA25813AF965E2ABD0CC2463DD1223/PBS/rest/services/hzsyvector_dark/Mapserver/tile/{z}/{y}/{x}"]:["https://ywtg.citybrain.hangzhou.gov.cn:9456/hzsyvector/{z}/{y}/{x}","https://ywtg.citybrain.hangzhou.gov.cn:9457/hzsyvector/{z}/{y}/{x}","https://ywtg.citybrain.hangzhou.gov.cn:9458/hzsyvector/{z}/{y}/{x}","https://ywtg.citybrain.hangzhou.gov.cn:9459/hzsyvector/{z}/{y}/{x}","https://cb.hangzhoumap.gov.cn/E36CCEA93443D1495DB9B9F2B2FFE348CB1A367D75176F815040AB19E54CDCA5DAAA25813AF965E2ABD0CC2463DD1223/PBS/rest/services/hzsyvector/Mapserver/tile/{z}/{y}/{x}"]})}),Y=(t,e,r="c77eddc667c5bed016fded560baf93e7")=>{let[a,s]=t.split("_");return new k.Tile({className:e,cacheSize:20240,zIndex:-1,source:new W.WMTS({crossOrigin:"anonymous",projection:"EPSG:4326",wrapX:!0,layer:a,style:"default",version:"1.0.0",format:"image/png",matrixSet:s,tileGrid:new R.default({origin:[-180,90],matrixIds:["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],resolutions:[.703125,.3515625,.17578125,.087890625,.0439453125,.02197265625,.010986328125,.0054931640625,.00274658203125,.001373291015625,.0006866455078125,.00034332275390625,.000171661376953125,858306884765625e-19,4291534423828125e-20,21457672119140625e-21,10728836059570312e-21,5364418029785156e-21,2682209014892578e-21]}),url:`https://t{0-7}.tianditu.gov.cn/${t}/wmts?tk=${r}`})})},O=t=>o.getAllLayers().find(e=>e.getClassName()===t),Z=t=>{let e=o.getAllLayers().find(r=>r.getClassName()===t);e&&o.removeLayer(e)},$=(t,e)=>{o.getAllLayers().filter(a=>e.includes(a.getClassName())).forEach(a=>{a.setVisible(t==null?void 0:t.includes(a.getClassName()))})};var q=require("ol"),H=require("ol/geom");var K=require("ol/interaction"),w=p(require("ol/layer/Vector"),1),z=p(require("ol/source/Vector"),1),i=require("ol/style"),Q=require("ol/format");var ee=()=>{o.getLayers().forEach(e=>{let r=e.get("_selectInteraction");r&&r.getFeatures().clear()})},xe=(t,e)=>{let{key:r,isLine:a}=e,s=[];return t.forEach(n=>{try{let c=Array.isArray(n[r])?n[r]:JSON.parse(n[r]||"[]");c.length&&s.push({type:"Feature",properties:M({},n),geometry:{coordinates:c,type:a?"Polyline":"Polygon"}})}catch(c){console.error(c),console.error(`\u521B\u5EFA\u7EBF\u72B6\u6570\u636E\u5931\u8D25\uFF1A${n.toString()}`)}}),{type:"FeatureCollection",features:s}},g=(t,e)=>{let{isLine:r,layerName:a}=e||{},s=xe(t,e),n=new w.default({className:a||"ol-layer",source:new z.default({features:new Q.GeoJSON().readFeatures(s)}),style:r?new i.Style({stroke:new i.Stroke({color:"red",lineDash:[10],width:3})}):new i.Style({stroke:new i.Stroke({color:"red",lineDash:[10],width:3}),fill:new i.Fill({color:"rgba(0, 0, 255, 0.1)"})})});return n.set("_layerName",a),n},te=(t=[],e)=>g(t,Object.assign(e,{isLine:!1})),re=(t=[],e)=>g(t,Object.assign(e,{isLine:!0})),oe=(t=!0)=>{console.log(t),o&&o.getLayers().forEach(e=>{o.removeLayer(e)})},ae=(t,e)=>{console.log(t,e)},se=()=>{},ne=t=>(e,r=!0)=>{console.log("activeMarkerByUid",e,r,t)},A=t=>e=>{let{baseUrl:r,markerIcon:a,markerSize:s=[32,32],statusNum:n=5,activeScale:c=1.3}=e,d=t(r),[L,v]=s,u=new Array(n*2);for(let y=0;y<n;y++){let l=d(`${a}-${y}`,".webp");u[y]=new i.Style({zIndex:88+y,image:new i.Icon({src:l,anchor:[L/2,v]})});let m=d(`${a}-${y}-active`,".webp");u[y+n]=new i.Style({zIndex:102,image:new i.Icon({src:m||l,anchor:[L/2*c,v*c],size:s.map(ye=>ye*c)})})}return u},S=t=>{let e=new K.Select({style:null,layers:[t]});return e.on("select",r=>{let{selected:a,deselected:s}=r;if(a.length){let n=a[0],c=n.getProperties();n.setStyle(c.activeStyle),x.emit("marker-click",c)}if(s.length){let n=s[0],c=n.getProperties();n.setStyle(c.unActiveStyle)}}),o.addInteraction(e),t.set("_selectInteraction",e),e},C=(t,e=[])=>{let r=t.map(s=>{let n=new q.Feature({geometry:new H.Point([+s.lnglat[0],+s.lnglat[1]])});return n.setProperties(F(M({},s),{unActiveStyle:e[s.style],activeStyle:e[s.style+e.length/2]})),n.setStyle(e[s.style]),n}),a=new w.default({source:new z.default({features:r})});return a.setProperties({_isCustom:!0,_dataList:t,_isMassMarksLayer:!0,_statusNum:e.length/2}),a},ce=t=>(e=[],r,a=!0)=>{let{baseUrl:s,hasLine:n,hasFace:c,isDynamic:d,statusNum:L,markerIcon:v,markerSize:u}=r,y=A(t)({baseUrl:s,markerIcon:v,markerSize:u,activeScale:1.3,statusNum:L||5}),l=C(e,y);if(a&&S(l),n){let m=g(e,{key:"line",isLine:!0,strokeColor:"rgba(29, 235, 255, 0.8)"});o.addLayer(m)}if(c){let m=g(e,{isLine:!1,key:"faceList",fillOpacity:.1,fillColor:"#4247DF",strokeWeight:1,strokeStyle:"dashed",strokeColor:"#4247DF"});o.addLayer(m)}return l.setProperties({_hasLine:n,_hasFace:c,_isDynamic:d}),l.setMap(o),l},ie=(t=[])=>{console.log(t)};0&&(module.exports={activeMarkerByUid,addMassMarksLayer,buildMassMarksStyles,createAnimationMarker,createBaseLayer,createGeoJsonLayer,createMapInstance,createMapWorldLayer,createMassMarksLayer,createSelectByLayer,createVectorFaceLayer,createVectorLineLayer,disposeMap,emitter,getMapInstance,instance,removeAllLayers,resetActiveMarker,resetActiveVector,resetMap,resetZoomAndCenter,updateMarksLayersByStatus});
|
package/dist/index.d.cts
CHANGED
|
@@ -88,10 +88,10 @@ declare const createMapWorldLayer: (layerName: string, className: string, tk?: s
|
|
|
88
88
|
|
|
89
89
|
declare let instance: CustomMap;
|
|
90
90
|
declare const createMapInstance: (config?: {}) => CustomMap;
|
|
91
|
-
declare const
|
|
91
|
+
declare const disposeMap: () => void;
|
|
92
92
|
declare const getMapInstance: () => void;
|
|
93
93
|
declare const resetMap: () => void;
|
|
94
|
-
declare const
|
|
94
|
+
declare const resetZoomAndCenter: () => void;
|
|
95
95
|
|
|
96
96
|
/**
|
|
97
97
|
* 重置激活的矢量数据
|
|
@@ -110,6 +110,21 @@ declare const createVectorFaceLayer: (dataList: never[] | undefined, config: Vec
|
|
|
110
110
|
* @param config
|
|
111
111
|
*/
|
|
112
112
|
declare const createVectorLineLayer: (dataList: any[] | undefined, config: VectorConfig) => VectorLayer<VectorSource<Feature<ol_geom.Geometry>>, Feature<ol_geom.Geometry>>;
|
|
113
|
+
/**
|
|
114
|
+
* 移除覆盖物已经自定义图层
|
|
115
|
+
* @param isClearAll
|
|
116
|
+
*/
|
|
117
|
+
declare const removeAllLayers: (isClearAll?: boolean) => void;
|
|
118
|
+
/**
|
|
119
|
+
* 根据当前Marker创建一个动画Marker
|
|
120
|
+
* @param lnglat
|
|
121
|
+
* @param config
|
|
122
|
+
*/
|
|
123
|
+
declare const createAnimationMarker: (lnglat: any, config: {
|
|
124
|
+
size: any;
|
|
125
|
+
getAnimationUrl: GetImgUrl;
|
|
126
|
+
alarmLevel: number | string;
|
|
127
|
+
}) => void;
|
|
113
128
|
/**
|
|
114
129
|
* 重置激活Marker
|
|
115
130
|
*/
|
|
@@ -145,4 +160,4 @@ declare const addMassMarksLayer: (getImgUrlFn: GetImgUrlFn) => (dataList: never[
|
|
|
145
160
|
*/
|
|
146
161
|
declare const updateMarksLayersByStatus: (checkedStatusList?: any[]) => void;
|
|
147
162
|
|
|
148
|
-
export { type CustomMap, type GetImgUrl, type GetImgUrlFn, type IconConfig, type LayerConfig, type LineConfig, type MassData, type MassMarkersStyleOptions, type VectorConfig, activeMarkerByUid, addMassMarksLayer, buildMassMarksStyles, createBaseLayer, createGeoJsonLayer, createMapInstance, createMapWorldLayer, createMassMarksLayer, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, disposeMap, emitter, getMapInstance, instance, resetActiveMarker, resetActiveVector, resetMap, resetZoomAndCenter, updateMarksLayersByStatus };
|
|
163
|
+
export { type CustomMap, type GetImgUrl, type GetImgUrlFn, type IconConfig, type LayerConfig, type LineConfig, type MassData, type MassMarkersStyleOptions, type VectorConfig, activeMarkerByUid, addMassMarksLayer, buildMassMarksStyles, createAnimationMarker, createBaseLayer, createGeoJsonLayer, createMapInstance, createMapWorldLayer, createMassMarksLayer, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, disposeMap, emitter, getMapInstance, instance, removeAllLayers, resetActiveMarker, resetActiveVector, resetMap, resetZoomAndCenter, updateMarksLayersByStatus };
|
package/dist/index.d.ts
CHANGED
|
@@ -88,10 +88,10 @@ declare const createMapWorldLayer: (layerName: string, className: string, tk?: s
|
|
|
88
88
|
|
|
89
89
|
declare let instance: CustomMap;
|
|
90
90
|
declare const createMapInstance: (config?: {}) => CustomMap;
|
|
91
|
-
declare const
|
|
91
|
+
declare const disposeMap: () => void;
|
|
92
92
|
declare const getMapInstance: () => void;
|
|
93
93
|
declare const resetMap: () => void;
|
|
94
|
-
declare const
|
|
94
|
+
declare const resetZoomAndCenter: () => void;
|
|
95
95
|
|
|
96
96
|
/**
|
|
97
97
|
* 重置激活的矢量数据
|
|
@@ -110,6 +110,21 @@ declare const createVectorFaceLayer: (dataList: never[] | undefined, config: Vec
|
|
|
110
110
|
* @param config
|
|
111
111
|
*/
|
|
112
112
|
declare const createVectorLineLayer: (dataList: any[] | undefined, config: VectorConfig) => VectorLayer<VectorSource<Feature<ol_geom.Geometry>>, Feature<ol_geom.Geometry>>;
|
|
113
|
+
/**
|
|
114
|
+
* 移除覆盖物已经自定义图层
|
|
115
|
+
* @param isClearAll
|
|
116
|
+
*/
|
|
117
|
+
declare const removeAllLayers: (isClearAll?: boolean) => void;
|
|
118
|
+
/**
|
|
119
|
+
* 根据当前Marker创建一个动画Marker
|
|
120
|
+
* @param lnglat
|
|
121
|
+
* @param config
|
|
122
|
+
*/
|
|
123
|
+
declare const createAnimationMarker: (lnglat: any, config: {
|
|
124
|
+
size: any;
|
|
125
|
+
getAnimationUrl: GetImgUrl;
|
|
126
|
+
alarmLevel: number | string;
|
|
127
|
+
}) => void;
|
|
113
128
|
/**
|
|
114
129
|
* 重置激活Marker
|
|
115
130
|
*/
|
|
@@ -145,4 +160,4 @@ declare const addMassMarksLayer: (getImgUrlFn: GetImgUrlFn) => (dataList: never[
|
|
|
145
160
|
*/
|
|
146
161
|
declare const updateMarksLayersByStatus: (checkedStatusList?: any[]) => void;
|
|
147
162
|
|
|
148
|
-
export { type CustomMap, type GetImgUrl, type GetImgUrlFn, type IconConfig, type LayerConfig, type LineConfig, type MassData, type MassMarkersStyleOptions, type VectorConfig, activeMarkerByUid, addMassMarksLayer, buildMassMarksStyles, createBaseLayer, createGeoJsonLayer, createMapInstance, createMapWorldLayer, createMassMarksLayer, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, disposeMap, emitter, getMapInstance, instance, resetActiveMarker, resetActiveVector, resetMap, resetZoomAndCenter, updateMarksLayersByStatus };
|
|
163
|
+
export { type CustomMap, type GetImgUrl, type GetImgUrlFn, type IconConfig, type LayerConfig, type LineConfig, type MassData, type MassMarkersStyleOptions, type VectorConfig, activeMarkerByUid, addMassMarksLayer, buildMassMarksStyles, createAnimationMarker, createBaseLayer, createGeoJsonLayer, createMapInstance, createMapWorldLayer, createMassMarksLayer, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, disposeMap, emitter, getMapInstance, instance, removeAllLayers, resetActiveMarker, resetActiveVector, resetMap, resetZoomAndCenter, updateMarksLayersByStatus };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var N=Object.defineProperty,_=Object.defineProperties;var U=Object.getOwnPropertyDescriptors;var x=Object.getOwnPropertySymbols;var V=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable;var M=(t,e,r)=>e in t?N(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,L=(t,e)=>{for(var r in e||(e={}))V.call(e,r)&&M(t,r,e[r]);if(x)for(var r of x(e))P.call(e,r)&&M(t,r,e[r]);return t},k=(t,e)=>_(t,U(e));import T from"mitt";var j=T(),v=j;import{XYZ as q}from"ol/source";import{WMTS as H}from"ol/source";import{TileGrid as K}from"ol/tilegrid";import{Tile as
|
|
1
|
+
var N=Object.defineProperty,_=Object.defineProperties;var U=Object.getOwnPropertyDescriptors;var x=Object.getOwnPropertySymbols;var V=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable;var M=(t,e,r)=>e in t?N(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,L=(t,e)=>{for(var r in e||(e={}))V.call(e,r)&&M(t,r,e[r]);if(x)for(var r of x(e))P.call(e,r)&&M(t,r,e[r]);return t},k=(t,e)=>_(t,U(e));import T from"mitt";var j=T(),v=j;import{XYZ as q}from"ol/source";import{WMTS as H}from"ol/source";import{TileGrid as K}from"ol/tilegrid";import{Tile as S}from"ol/layer";import O from"ol/Map";import Z from"ol/View";import{defaults as $}from"ol/control";var o,J=(t={})=>{let e=Object.assign({zoom:9,maxZoom:18,minZoom:9,baseLayer:"vec-layer",projection:"EPSG:4326",layers:[h()],smoothExtentConstraint:!1,tk:"c77eddc667c5bed016fded560baf93e7",center:[119.5326450625435,29.8845606679097]},t||{});return o?(o.getLayers().on("remove",a=>{let n=a.element;o.removeInteraction(n.get("_selectInteraction"))}),o):(o=new O({view:new Z(e),controls:$({attribution:!1,zoom:!1,rotate:!1}),layers:e.layers||[h()]}),o.activeBaseLayer=e.baseLayer,o.getLayerByName=w,o.removeLayerByName=z,o.changeLayersByNames=A,o.on("pointermove",a=>{o.getTargetElement().style.cursor=o.hasFeatureAtPixel(a.pixel)?"pointer":""}),o)},W=()=>{o.getAllLayers().forEach(e=>{o.removeLayer(e)}),o.setTarget(""),o=void 0},X=()=>{},R=()=>{},Y=()=>{};import Q from"ol/tilegrid/WMTS";var h=(t=!0)=>new S({zIndex:1,minZoom:8,maxZoom:21,source:new q({tileGrid:new K({tileSize:256,resolutions:[.005492298,.002746149,.0013730745,.00068653725,.000343268625,.0001716343125,8581715625e-14,42908578125e-15,214542890625e-16,1072714453125e-17,5363572265625e-18,26817861328125e-19,134089306640625e-20],origin:[118.122911693886,31.2869311022836],extent:[118.340502132662,29.2073269598186,120.724787992425,30.5617943760008]}),projection:"EPSG:4326",urls:t?["https://ywtg.citybrain.hangzhou.gov.cn:9456/hzsyvector_dark/{z}/{y}/{x}","https://ywtg.citybrain.hangzhou.gov.cn:9457/hzsyvector_dark/{z}/{y}/{x}","https://ywtg.citybrain.hangzhou.gov.cn:9458/hzsyvector_dark/{z}/{y}/{x}","https://ywtg.citybrain.hangzhou.gov.cn:9459/hzsyvector_dark/{z}/{y}/{x}","https://cb.hangzhoumap.gov.cn/E36CCEA93443D1495DB9B9F2B2FFE348CB1A367D75176F815040AB19E54CDCA5DAAA25813AF965E2ABD0CC2463DD1223/PBS/rest/services/hzsyvector_dark/Mapserver/tile/{z}/{y}/{x}"]:["https://ywtg.citybrain.hangzhou.gov.cn:9456/hzsyvector/{z}/{y}/{x}","https://ywtg.citybrain.hangzhou.gov.cn:9457/hzsyvector/{z}/{y}/{x}","https://ywtg.citybrain.hangzhou.gov.cn:9458/hzsyvector/{z}/{y}/{x}","https://ywtg.citybrain.hangzhou.gov.cn:9459/hzsyvector/{z}/{y}/{x}","https://cb.hangzhoumap.gov.cn/E36CCEA93443D1495DB9B9F2B2FFE348CB1A367D75176F815040AB19E54CDCA5DAAA25813AF965E2ABD0CC2463DD1223/PBS/rest/services/hzsyvector/Mapserver/tile/{z}/{y}/{x}"]})}),ee=(t,e,r="c77eddc667c5bed016fded560baf93e7")=>{let[a,n]=t.split("_");return new S({className:e,cacheSize:20240,zIndex:-1,source:new H({crossOrigin:"anonymous",projection:"EPSG:4326",wrapX:!0,layer:a,style:"default",version:"1.0.0",format:"image/png",matrixSet:n,tileGrid:new Q({origin:[-180,90],matrixIds:["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],resolutions:[.703125,.3515625,.17578125,.087890625,.0439453125,.02197265625,.010986328125,.0054931640625,.00274658203125,.001373291015625,.0006866455078125,.00034332275390625,.000171661376953125,858306884765625e-19,4291534423828125e-20,21457672119140625e-21,10728836059570312e-21,5364418029785156e-21,2682209014892578e-21]}),url:`https://t{0-7}.tianditu.gov.cn/${t}/wmts?tk=${r}`})})},w=t=>o.getAllLayers().find(e=>e.getClassName()===t),z=t=>{let e=o.getAllLayers().find(r=>r.getClassName()===t);e&&o.removeLayer(e)},A=(t,e)=>{o.getAllLayers().filter(a=>e.includes(a.getClassName())).forEach(a=>{a.setVisible(t==null?void 0:t.includes(a.getClassName()))})};import{Feature as te}from"ol";import{Point as re}from"ol/geom";import{Select as oe}from"ol/interaction";import B from"ol/layer/Vector";import I from"ol/source/Vector";import{Fill as ae,Icon as C,Stroke as b,Style as d}from"ol/style";import{GeoJSON as se}from"ol/format";var ne=()=>{o.getLayers().forEach(e=>{let r=e.get("_selectInteraction");r&&r.getFeatures().clear()})},ce=(t,e)=>{let{key:r,isLine:a}=e,n=[];return t.forEach(s=>{try{let c=Array.isArray(s[r])?s[r]:JSON.parse(s[r]||"[]");c.length&&n.push({type:"Feature",properties:L({},s),geometry:{coordinates:c,type:a?"Polyline":"Polygon"}})}catch(c){console.error(c),console.error(`\u521B\u5EFA\u7EBF\u72B6\u6570\u636E\u5931\u8D25\uFF1A${s.toString()}`)}}),{type:"FeatureCollection",features:n}},p=(t,e)=>{let{isLine:r,layerName:a}=e||{},n=ce(t,e),s=new B({className:a||"ol-layer",source:new I({features:new se().readFeatures(n)}),style:r?new d({stroke:new b({color:"red",lineDash:[10],width:3})}):new d({stroke:new b({color:"red",lineDash:[10],width:3}),fill:new ae({color:"rgba(0, 0, 255, 0.1)"})})});return s.set("_layerName",a),s},ie=(t=[],e)=>p(t,Object.assign(e,{isLine:!1})),ye=(t=[],e)=>p(t,Object.assign(e,{isLine:!0})),le=(t=!0)=>{console.log(t),o&&o.getLayers().forEach(e=>{o.removeLayer(e)})},me=(t,e)=>{console.log(t,e)},pe=()=>{},ge=t=>(e,r=!0)=>{console.log("activeMarkerByUid",e,r,t)},F=t=>e=>{let{baseUrl:r,markerIcon:a,markerSize:n=[32,32],statusNum:s=5,activeScale:c=1.3}=e,g=t(r),[u,f]=n,m=new Array(s*2);for(let i=0;i<s;i++){let y=g(`${a}-${i}`,".webp");m[i]=new d({zIndex:88+i,image:new C({src:y,anchor:[u/2,f]})});let l=g(`${a}-${i}-active`,".webp");m[i+s]=new d({zIndex:102,image:new C({src:l||y,anchor:[u/2*c,f*c],size:n.map(G=>G*c)})})}return m},D=t=>{let e=new oe({style:null,layers:[t]});return e.on("select",r=>{let{selected:a,deselected:n}=r;if(a.length){let s=a[0],c=s.getProperties();s.setStyle(c.activeStyle),v.emit("marker-click",c)}if(n.length){let s=n[0],c=s.getProperties();s.setStyle(c.unActiveStyle)}}),o.addInteraction(e),t.set("_selectInteraction",e),e},E=(t,e=[])=>{let r=t.map(n=>{let s=new te({geometry:new re([+n.lnglat[0],+n.lnglat[1]])});return s.setProperties(k(L({},n),{unActiveStyle:e[n.style],activeStyle:e[n.style+e.length/2]})),s.setStyle(e[n.style]),s}),a=new B({source:new I({features:r})});return a.setProperties({_isCustom:!0,_dataList:t,_isMassMarksLayer:!0,_statusNum:e.length/2}),a},ue=t=>(e=[],r,a=!0)=>{let{baseUrl:n,hasLine:s,hasFace:c,isDynamic:g,statusNum:u,markerIcon:f,markerSize:m}=r,i=F(t)({baseUrl:n,markerIcon:f,markerSize:m,activeScale:1.3,statusNum:u||5}),y=E(e,i);if(a&&D(y),s){let l=p(e,{key:"line",isLine:!0,strokeColor:"rgba(29, 235, 255, 0.8)"});o.addLayer(l)}if(c){let l=p(e,{isLine:!1,key:"faceList",fillOpacity:.1,fillColor:"#4247DF",strokeWeight:1,strokeStyle:"dashed",strokeColor:"#4247DF"});o.addLayer(l)}return y.setProperties({_hasLine:s,_hasFace:c,_isDynamic:g}),y.setMap(o),y},fe=(t=[])=>{console.log(t)};export{ge as activeMarkerByUid,ue as addMassMarksLayer,F as buildMassMarksStyles,me as createAnimationMarker,h as createBaseLayer,p as createGeoJsonLayer,J as createMapInstance,ee as createMapWorldLayer,E as createMassMarksLayer,D as createSelectByLayer,ie as createVectorFaceLayer,ye as createVectorLineLayer,W as disposeMap,v as emitter,X as getMapInstance,o as instance,le as removeAllLayers,pe as resetActiveMarker,ne as resetActiveVector,R as resetMap,Y as resetZoomAndCenter,fe as updateMarksLayersByStatus};
|