@summeruse/ol 0.3.0 → 0.3.2

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.
@@ -4,6 +4,7 @@ import { Map, View } from "ol";
4
4
  import { Attribution, FullScreen, OverviewMap, Rotate, ScaleLine, Zoom } from "ol/control";
5
5
  import { DoubleClickZoom, DragPan, DragRotate, KeyboardPan, KeyboardZoom, MouseWheelZoom, PinchRotate, PinchZoom } from "ol/interaction";
6
6
  var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
7
+ name: "OlMap",
7
8
  __name: "index",
8
9
  props: {
9
10
  olMap: { default: () => new Map() },
@@ -49,12 +49,17 @@ export declare function usePointermove<T extends Option>({ mapRef, items, forceU
49
49
  x: number;
50
50
  y: number;
51
51
  }>;
52
+ offset: import('vue').ComputedRef<{
53
+ x: number;
54
+ y: number;
55
+ }>;
52
56
  originalPosition: import('vue').ComputedRef<{
53
57
  x: number;
54
58
  y: number;
55
59
  }>;
56
60
  feature: import('vue').ComputedRef<FeatureLike | undefined>;
57
61
  content: import('vue').ComputedRef<string | (() => VNodeChild) | undefined>;
62
+ originalCoordinate: import('vue').ComputedRef<Coordinate | undefined>;
58
63
  coordinate: import('vue').ComputedRef<Coordinate | undefined>;
59
64
  option: import('vue').ComputedRef<T | undefined>;
60
65
  hide: () => void;
@@ -7,30 +7,30 @@ function usePointermove({ mapRef: o, items: s, forceUpdate: c = !1 }) {
7
7
  }), d = ref(), f = ref(), p = ref({
8
8
  x: 0,
9
9
  y: 0
10
- }), m = ref(), h = ref(), g = computed(() => ({
10
+ }), m = ref(), h = ref(), g = ref(), _ = computed(() => ({
11
11
  x: u.value.x + p.value.x,
12
12
  y: u.value.y + p.value.y
13
- })), _, v, y = "";
14
- function b(e) {
13
+ })), v, y, b = "";
14
+ function x(e) {
15
15
  let t = toValue(s);
16
16
  return t.sort((e, t) => (t.priority ?? 0) - (e.priority ?? 0)), t.find((t) => {
17
17
  let n = t.visible;
18
18
  return typeof n == "function" ? n(e) : n ?? !0;
19
19
  });
20
20
  }
21
- function x(e) {
22
- if (e.dragging || !_ || !v) return;
21
+ function S(e) {
22
+ if (e.dragging || !v || !y) return;
23
23
  let t = e.coordinate;
24
- m.value = t;
24
+ m.value = t, h.value = t;
25
25
  let n = e.pixel, r, i;
26
- if (_.forEachFeatureAtPixel(n, (e, t) => (r = e, i = t, !0)), !r) {
27
- S();
26
+ if (v.forEachFeatureAtPixel(n, (e, t) => (r = e, i = t, !0)), !r) {
27
+ C();
28
28
  return;
29
29
  }
30
30
  if (!c && d.value && d.value.getId() === r.getId()) return;
31
31
  d.value = r;
32
- let { top: o, left: s } = v.getBoundingClientRect(), g = {
33
- map: _,
32
+ let { top: o, left: s } = y.getBoundingClientRect(), _ = {
33
+ map: v,
34
34
  position: {
35
35
  x: n[0] + s,
36
36
  y: n[1] + o
@@ -38,52 +38,54 @@ function usePointermove({ mapRef: o, items: s, forceUpdate: c = !1 }) {
38
38
  coordinate: t,
39
39
  feature: r,
40
40
  layer: i
41
- }, y = b(g);
42
- if (y) {
43
- let { content: e, cursor: t, visible: n, fixedFeatureCenter: r, offset: i, priority: a,...o } = y;
44
- h.value = { ...o };
41
+ }, b = x(_);
42
+ if (b) {
43
+ let { content: e, cursor: t, visible: n, fixedFeatureCenter: r, offset: i, priority: a,...o } = b;
44
+ g.value = { ...o };
45
45
  }
46
- if (!y) {
47
- S();
46
+ if (!b) {
47
+ C();
48
48
  return;
49
49
  }
50
50
  p.value = {
51
- x: y.offset?.x ?? 0,
52
- y: y.offset?.y ?? 0
51
+ x: b.offset?.x ?? 0,
52
+ y: b.offset?.y ?? 0
53
53
  };
54
- let x = c === !1 ? !0 : y.fixedFeatureCenter ?? !0, C = r.getGeometry();
55
- if (x && C) {
56
- let e = getCenter(C.getExtent());
57
- n = _.getPixelFromCoordinate(e);
54
+ let S = c === !1 ? !0 : b.fixedFeatureCenter ?? !0, w = r.getGeometry();
55
+ if (S && w) {
56
+ let e = getCenter(w.getExtent());
57
+ h.value = e, n = v.getPixelFromCoordinate(e);
58
58
  }
59
59
  u.value.x = n[0] + s, u.value.y = n[1] + o;
60
- let w = y.content;
61
- f.value = typeof w == "function" ? () => w(g) : w;
62
- let T = y.cursor, E = typeof T == "function" ? T(g) : T;
63
- E !== void 0 && E !== v.style.cursor && (v.style.cursor = E), l.value = !0;
60
+ let T = b.content;
61
+ f.value = typeof T == "function" ? () => T(_) : T;
62
+ let E = b.cursor, D = typeof E == "function" ? E(_) : E;
63
+ D !== void 0 && D !== y.style.cursor && (y.style.cursor = D), l.value = !0;
64
64
  }
65
- function S() {
66
- l.value = !1, d.value = void 0, v && v.style.cursor !== y && (v.style.cursor = y);
67
- }
68
- function C(e) {
69
- e.on("pointermove", x);
65
+ function C() {
66
+ l.value = !1, d.value = void 0, y && y.style.cursor !== b && (y.style.cursor = b);
70
67
  }
71
68
  function w(e) {
72
- e.un("pointermove", x);
69
+ e.on("pointermove", S);
70
+ }
71
+ function T(e) {
72
+ e.un("pointermove", S);
73
73
  }
74
74
  return watch(() => toValue(o), (e, t) => {
75
- t && w(t), t !== e && (_ = e, e && (v = e.getViewport(), C(e), y = v.style.cursor));
75
+ t && T(t), t !== e && (v = e, e && (y = e.getViewport(), w(e), b = y.style.cursor));
76
76
  }, { immediate: !0 }), onBeforeUnmount(() => {
77
- _ && w(_);
77
+ v && T(v);
78
78
  }), {
79
79
  visible: computed(() => l.value),
80
- position: computed(() => g.value),
80
+ position: computed(() => _.value),
81
+ offset: computed(() => p.value),
81
82
  originalPosition: computed(() => u.value),
82
83
  feature: computed(() => d.value),
83
84
  content: computed(() => f.value),
84
- coordinate: computed(() => m.value),
85
- option: computed(() => h.value),
86
- hide: S
85
+ originalCoordinate: computed(() => m.value),
86
+ coordinate: computed(() => h.value),
87
+ option: computed(() => g.value),
88
+ hide: C
87
89
  };
88
90
  }
89
91
  export { usePointermove };
package/es/index.mjs CHANGED
@@ -7,7 +7,7 @@ import { EPSG_3857, EPSG_4326, WGS84Projection, WebMercatorProjection } from "./
7
7
  import { formatAngle, formatRotation, kmToNauticalMiles, nauticalMilesToKm } from "./utils/distance/index.mjs";
8
8
  import { createCircleStyle, createStyle, createTextStyle } from "./utils/style/index.mjs";
9
9
  import { createCircle, createCircleFeature, createFeature, createLineString, createLineStringFeature, createMultiLineString, createMultiLineStringFeature, createMultiPoint, createMultiPointFeature, createMultiPolygon, createMultiPolygonFeature, createPoint, createPointFeature, createPolygon, createPolygonFeature } from "./utils/feature/index.mjs";
10
- import { createBingLayer, createOpenStreetMapLayer, createTianDiTuLayer, createTianDiTuUrl, createVectorLayer } from "./utils/layer/index.mjs";
10
+ import { createBingLayer, createOpenStreetMapLayer, createTianDiTuLayer, createTianDiTuUrl, createVectorLayer, createVectorSource, createWebGLVectorLayer } from "./utils/layer/index.mjs";
11
11
  import { EPSG_3857ExtentToEPSG_4326, EPSG_3857ToEPSG_4326, EPSG_4326ExtentToEPSG_3857, EPSG_4326ToEPSG_3857, mercatorExtentToWgs84, mercatorToWgs84, wgs84ExtentToMercator, wgs84ToMercator } from "./utils/projection/index.mjs";
12
12
  import "./utils/index.mjs";
13
13
  import { useDrawLineString } from "./composables/useDrawLineString/index.mjs";
@@ -16,4 +16,4 @@ import { useGraticule } from "./composables/useGraticule/index.mjs";
16
16
  import { usePointermove } from "./composables/usePointermove/index.mjs";
17
17
  import { useSwitchBaseLayer } from "./composables/useSwitchBaseLayer/index.mjs";
18
18
  import "./composables/index.mjs";
19
- export { EPSG_3857, EPSG_3857ExtentToEPSG_4326, EPSG_3857ToEPSG_4326, EPSG_4326, EPSG_4326ExtentToEPSG_3857, EPSG_4326ToEPSG_3857, ONE_NM, ol_map_default as OlMap, WGS84Projection, WebMercatorProjection, createBingLayer, createCircle, createCircleFeature, createCircleStyle, createFeature, createLineString, createLineStringFeature, createMultiLineString, createMultiLineStringFeature, createMultiPoint, createMultiPointFeature, createMultiPolygon, createMultiPolygonFeature, createOpenStreetMapLayer, createPoint, createPointFeature, createPolygon, createPolygonFeature, createStyle, createTextStyle, createTianDiTuLayer, createTianDiTuUrl, createVectorLayer, formatAngle, formatRotation, kmToNauticalMiles, mercatorExtentToWgs84, mercatorToWgs84, nauticalMilesToKm, olMapInjectionKey, useContextmenu, useDrawLineString, useDrawPolygon, useGraticule, useOlMap, usePointermove, useSwitchBaseLayer, wgs84ExtentToMercator, wgs84ToMercator };
19
+ export { EPSG_3857, EPSG_3857ExtentToEPSG_4326, EPSG_3857ToEPSG_4326, EPSG_4326, EPSG_4326ExtentToEPSG_3857, EPSG_4326ToEPSG_3857, ONE_NM, ol_map_default as OlMap, WGS84Projection, WebMercatorProjection, createBingLayer, createCircle, createCircleFeature, createCircleStyle, createFeature, createLineString, createLineStringFeature, createMultiLineString, createMultiLineStringFeature, createMultiPoint, createMultiPointFeature, createMultiPolygon, createMultiPolygonFeature, createOpenStreetMapLayer, createPoint, createPointFeature, createPolygon, createPolygonFeature, createStyle, createTextStyle, createTianDiTuLayer, createTianDiTuUrl, createVectorLayer, createVectorSource, createWebGLVectorLayer, formatAngle, formatRotation, kmToNauticalMiles, mercatorExtentToWgs84, mercatorToWgs84, nauticalMilesToKm, olMapInjectionKey, useContextmenu, useDrawLineString, useDrawPolygon, useGraticule, useOlMap, usePointermove, useSwitchBaseLayer, wgs84ExtentToMercator, wgs84ToMercator };
@@ -1,5 +1,5 @@
1
1
  import { formatAngle, formatRotation, kmToNauticalMiles, nauticalMilesToKm } from "./distance/index.mjs";
2
2
  import { createCircleStyle, createStyle, createTextStyle } from "./style/index.mjs";
3
3
  import { createCircle, createCircleFeature, createFeature, createLineString, createLineStringFeature, createMultiLineString, createMultiLineStringFeature, createMultiPoint, createMultiPointFeature, createMultiPolygon, createMultiPolygonFeature, createPoint, createPointFeature, createPolygon, createPolygonFeature } from "./feature/index.mjs";
4
- import { createBingLayer, createOpenStreetMapLayer, createTianDiTuLayer, createTianDiTuUrl, createVectorLayer } from "./layer/index.mjs";
4
+ import { createBingLayer, createOpenStreetMapLayer, createTianDiTuLayer, createTianDiTuUrl, createVectorLayer, createVectorSource, createWebGLVectorLayer } from "./layer/index.mjs";
5
5
  import { EPSG_3857ExtentToEPSG_4326, EPSG_3857ToEPSG_4326, EPSG_4326ExtentToEPSG_3857, EPSG_4326ToEPSG_3857, mercatorExtentToWgs84, mercatorToWgs84, wgs84ExtentToMercator, wgs84ToMercator } from "./projection/index.mjs";
@@ -2,8 +2,10 @@ import { StyleOptions } from '../style';
2
2
  import { Feature } from 'ol';
3
3
  import { Geometry } from 'ol/geom';
4
4
  import { ProjectionLike } from 'ol/proj';
5
+ import { FlatStyleLike } from 'ol/style/flat';
5
6
  import { Tile as TileLayer } from 'ol/layer';
6
7
  import { default as VectorLayer } from 'ol/layer/Vector';
8
+ import { default as WebGLVectorLayer } from 'ol/layer/WebGLVector';
7
9
  import { BingMaps, OSM, XYZ } from 'ol/source';
8
10
  import { default as VectorSource } from 'ol/source/Vector';
9
11
  export type T_MAP_TYPE = 'vec' | 'cva' | 'img' | 'cia' | 'ter' | 'cta' | 'ibo';
@@ -35,11 +37,24 @@ export interface CreateOpenStreetMapLayerOptions {
35
37
  sourceOptions?: BingMapsSourceOptions;
36
38
  }
37
39
  export declare function createOpenStreetMapLayer(data?: CreateOpenStreetMapLayerOptions): TileLayer<import('ol/source').Tile<import('ol').Tile>>;
38
- export type _VectorLayerOptions = ConstructorParameters<typeof VectorLayer>[0];
39
- export type VectorLayerOptions = _VectorLayerOptions & {
40
+ export type _VectorSourceOptions<T extends Geometry = Geometry> = ConstructorParameters<typeof VectorSource<Feature<T>>>[0];
41
+ export type VectorSourceOptions<T extends Geometry = Geometry> = _VectorSourceOptions<T>;
42
+ export declare function createVectorSource<T extends Geometry = Geometry>(options?: VectorSourceOptions<T>): VectorSource<Feature<T>>;
43
+ export type _VectorLayerOptions<T extends Geometry = Geometry> = ConstructorParameters<typeof VectorLayer<VectorSource<Feature<T>>>>[0];
44
+ export type VectorLayerOptions<T extends Geometry = Geometry> = _VectorLayerOptions<T> & {
40
45
  styleOptions?: StyleOptions;
46
+ sourceOptions?: VectorSourceOptions<T>;
41
47
  };
42
- export declare function createVectorLayer<T extends Geometry = Geometry>(options?: VectorLayerOptions): {
48
+ export declare function createVectorLayer<T extends Geometry = Geometry>(options?: VectorLayerOptions<T>): {
43
49
  source: VectorSource<Feature<T>>;
44
- layer: VectorLayer<VectorSource<import('ol/Feature').FeatureLike>, import('ol/Feature').FeatureLike>;
50
+ layer: VectorLayer<VectorSource<Feature<T>>, Feature<T>>;
51
+ };
52
+ export type _WebGLVectorLayerOptions<T extends Geometry = Geometry> = ConstructorParameters<typeof WebGLVectorLayer<VectorSource<Feature<T>>>>[0];
53
+ export type WebGLVectorLayerOptions<T extends Geometry = Geometry> = _WebGLVectorLayerOptions<T> & {
54
+ style: FlatStyleLike;
55
+ sourceOptions?: VectorSourceOptions<T>;
56
+ };
57
+ export declare function createWebGLVectorLayer<T extends Geometry = Geometry>(options: WebGLVectorLayerOptions<T>): {
58
+ source: VectorSource<Feature<T>>;
59
+ layer: WebGLVectorLayer<VectorSource<Feature<T>>, Feature<T>>;
45
60
  };
@@ -3,53 +3,68 @@ import { createStyle } from "../style/index.mjs";
3
3
  import VectorLayer from "ol/layer/Vector";
4
4
  import VectorSource from "ol/source/Vector";
5
5
  import { Tile } from "ol/layer";
6
+ import WebGLVectorLayer from "ol/layer/WebGLVector";
6
7
  import { BingMaps, OSM, XYZ } from "ol/source";
7
8
  function createTianDiTuUrl(e) {
8
- let { type: c = "img", projection: l = WebMercatorProjection, key: u } = e, d = e.url || "https://t{0-4}.tianditu.gov.cn", f = `&tk=${u}&SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}`;
9
- return `${d}/${c}_${l === "EPSG:4326" ? "c" : l === "EPSG:3857" ? "w" : "c"}/wmts?LAYER=${c}${f}`;
9
+ let { type: d = "img", projection: f = WebMercatorProjection, key: p } = e, m = e.url || "https://t{0-4}.tianditu.gov.cn", h = `&tk=${p}&SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}`;
10
+ return `${m}/${d}_${f === "EPSG:4326" ? "c" : f === "EPSG:3857" ? "w" : "c"}/wmts?LAYER=${d}${h}`;
10
11
  }
11
12
  function createTianDiTuLayer(e) {
12
- let { layerOptions: s, sourceOptions: c,...l } = e;
13
+ let { layerOptions: u, sourceOptions: d,...f } = e;
13
14
  return new Tile({
14
15
  source: new XYZ({
15
- url: createTianDiTuUrl(l),
16
- projection: l.projection,
16
+ url: createTianDiTuUrl(f),
17
+ projection: f.projection,
17
18
  crossOrigin: "Anonymous",
18
- ...c
19
+ ...d
19
20
  }),
20
- ...s
21
+ ...u
21
22
  });
22
23
  }
23
- function createBingLayer({ name: e, key: s, layerOptions: c, sourceOptions: l }) {
24
+ function createBingLayer({ name: e, key: u, layerOptions: d, sourceOptions: f }) {
24
25
  return new Tile({
25
26
  source: new BingMaps({
26
- key: s,
27
+ key: u,
27
28
  imagerySet: e,
28
29
  placeholderTiles: !1,
29
- ...l
30
+ ...f
30
31
  }),
31
- ...c
32
+ ...d
32
33
  });
33
34
  }
34
35
  function createOpenStreetMapLayer(e) {
35
- let { layerOptions: s, sourceOptions: c } = e || {};
36
+ let { layerOptions: u, sourceOptions: d } = e || {};
36
37
  return new Tile({
37
38
  source: new OSM({
38
39
  crossOrigin: "Anonymous",
39
- ...c
40
+ ...d
40
41
  }),
41
- ...s
42
+ ...u
42
43
  });
43
44
  }
45
+ function createVectorSource(e) {
46
+ return new VectorSource({ ...e });
47
+ }
44
48
  function createVectorLayer(e) {
45
- let { styleOptions: s,...d } = e || {}, f = s ? createStyle(s) : void 0, p = new VectorSource();
49
+ let { styleOptions: u, sourceOptions: p,...m } = e || {}, h = u ? createStyle(u) : void 0, g = createVectorSource(p);
46
50
  return {
47
- source: p,
51
+ source: g,
48
52
  layer: new VectorLayer({
53
+ source: g,
54
+ ...m,
55
+ style: h || m.style
56
+ })
57
+ };
58
+ }
59
+ function createWebGLVectorLayer(e) {
60
+ let { style: u, sourceOptions: d,...f } = e, p = createVectorSource(d);
61
+ return {
62
+ source: p,
63
+ layer: new WebGLVectorLayer({
49
64
  source: p,
50
- ...d,
51
- style: f || d.style
65
+ ...f,
66
+ style: u
52
67
  })
53
68
  };
54
69
  }
55
- export { createBingLayer, createOpenStreetMapLayer, createTianDiTuLayer, createTianDiTuUrl, createVectorLayer };
70
+ export { createBingLayer, createOpenStreetMapLayer, createTianDiTuLayer, createTianDiTuUrl, createVectorLayer, createVectorSource, createWebGLVectorLayer };
@@ -1 +1 @@
1
- const e=require(`../../_virtual/rolldown_runtime.js`),t=require(`./props.js`);let n=require(`vue`);n=e.__toESM(n);let r=require(`ol`);r=e.__toESM(r);let i=require(`ol/control`);i=e.__toESM(i);let a=require(`ol/interaction`);a=e.__toESM(a);var o=(0,n.defineComponent)({__name:`index`,props:{olMap:{default:()=>new r.Map},center:{default:()=>[0,0]},zoom:{default:2},minZoom:{default:2},maxZoom:{default:18},constrainResolution:{type:Boolean,default:!0},projection:{},extent:{},showZoom:{type:Boolean,default:!1},showAttribution:{type:Boolean,default:!1},showRotate:{type:Boolean,default:!1},showFullScreen:{type:Boolean,default:!1},showOverview:{type:Boolean,default:!1},showScale:{type:Boolean,default:!1},dragPan:{type:Boolean,default:!0},mouseWheelZoom:{type:Boolean,default:!0},doubleClickZoom:{type:Boolean,default:!1},pinchRotate:{type:Boolean},pinchZoom:{type:Boolean},altShiftDragRotate:{type:Boolean}},emits:[`update:zoom`,`update:center`,`changeResolution`,`changeCenter`,`moveend`,`movestart`],setup(e,{expose:o,emit:s}){let c=e,l=s,u=(0,n.ref)(),d=c.olMap,f=new r.View({projection:c.projection,extent:c.extent});d.setView(f),f.setZoom(c.zoom),f.setCenter(c.center),(0,n.watch)(()=>c.constrainResolution,e=>{f.setConstrainResolution(e)},{immediate:!0}),(0,n.watch)(()=>c.minZoom,e=>{e&&f.setMinZoom(e)},{immediate:!0}),(0,n.watch)(()=>c.maxZoom,e=>{e&&f.setMaxZoom(e)},{immediate:!0}),(0,n.watch)(u,e=>{e&&d.setTarget(e)}),o({olMap:d}),(0,n.provide)(t.olMapInjectionKey,d);let p=d.getControls().getArray(),m=p.find(e=>e instanceof i.Zoom)||new i.Zoom,h=p.find(e=>e instanceof i.Attribution)||new i.Attribution,g=p.find(e=>e instanceof i.Rotate)||new i.Rotate,_=p.find(e=>e instanceof i.FullScreen)||new i.FullScreen,v=p.find(e=>e instanceof i.OverviewMap)||new i.OverviewMap,y=p.find(e=>e instanceof i.ScaleLine)||new i.ScaleLine;(0,n.watch)(()=>c.showZoom,e=>{m.setMap(e?d:null)},{immediate:!0}),(0,n.watch)(()=>c.showAttribution,e=>{h.setMap(e?d:null)},{immediate:!0}),(0,n.watch)(()=>c.showRotate,e=>{g.setMap(e?d:null)},{immediate:!0}),(0,n.watch)(()=>c.showFullScreen,e=>{_.setMap(e?d:null)},{immediate:!0}),(0,n.watch)(()=>c.showOverview,e=>{v.setMap(e?d:null)},{immediate:!0}),(0,n.watch)(()=>c.showScale,e=>{y.setMap(e?d:null)},{immediate:!0});let b=d.getInteractions().getArray(),x=b.find(e=>e instanceof a.DragPan)||new a.DragPan,S=b.find(e=>e instanceof a.MouseWheelZoom)||new a.MouseWheelZoom,C=b.find(e=>e instanceof a.DoubleClickZoom)||new a.DoubleClickZoom,w=b.find(e=>e instanceof a.PinchRotate)||new a.PinchRotate,T=b.find(e=>e instanceof a.PinchZoom)||new a.PinchZoom,E=b.find(e=>e instanceof a.DragRotate)||new a.DragRotate,D=b.find(e=>e instanceof a.KeyboardPan)||new a.KeyboardPan,O=b.find(e=>e instanceof a.KeyboardZoom)||new a.KeyboardZoom;d.removeInteraction(x),d.addInteraction(x),d.removeInteraction(S),d.addInteraction(S),d.removeInteraction(C),d.addInteraction(C),d.removeInteraction(w),d.addInteraction(w),d.removeInteraction(T),d.addInteraction(T),d.removeInteraction(E),d.addInteraction(E),d.removeInteraction(D),d.removeInteraction(O),(0,n.watch)(()=>c.dragPan,e=>{x.setActive(e)},{immediate:!0}),(0,n.watch)(()=>c.mouseWheelZoom,e=>{S.setActive(e)},{immediate:!0}),(0,n.watch)(()=>c.doubleClickZoom,e=>{C.setActive(e)},{immediate:!0}),(0,n.watch)(()=>c.pinchRotate,e=>{w.setActive(e)},{immediate:!0}),(0,n.watch)(()=>c.pinchZoom,e=>{T.setActive(e)},{immediate:!0}),(0,n.watch)(()=>c.altShiftDragRotate,e=>{E.setActive(e)},{immediate:!0});function k(e){l(`update:zoom`,Math.floor(f.getZoom()||0)),l(`changeResolution`,e)}(0,n.onMounted)(()=>{f.on(`change:resolution`,k)}),(0,n.onUnmounted)(()=>{f.un(`change:resolution`,k)});function A(e){l(`update:center`,f.getCenter()||[0,0]),l(`changeCenter`,e)}(0,n.onMounted)(()=>{f.on(`change:center`,A)}),(0,n.onUnmounted)(()=>{f.un(`change:center`,A)});function j(e){l(`movestart`,e)}(0,n.onMounted)(()=>{d.on(`movestart`,j)}),(0,n.onUnmounted)(()=>{d.un(`movestart`,j)});function M(e){l(`moveend`,e)}return(0,n.onMounted)(()=>{d.on(`moveend`,M)}),(0,n.onUnmounted)(()=>{d.un(`moveend`,M)}),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`mapRef`,ref:u},[(0,n.renderSlot)(e.$slots,`default`,{olMap:(0,n.unref)(d),mapRef:u.value})],512))}});exports.default=o;
1
+ const e=require(`../../_virtual/rolldown_runtime.js`),t=require(`./props.js`);let n=require(`vue`);n=e.__toESM(n);let r=require(`ol`);r=e.__toESM(r);let i=require(`ol/control`);i=e.__toESM(i);let a=require(`ol/interaction`);a=e.__toESM(a);var o=(0,n.defineComponent)({name:`OlMap`,__name:`index`,props:{olMap:{default:()=>new r.Map},center:{default:()=>[0,0]},zoom:{default:2},minZoom:{default:2},maxZoom:{default:18},constrainResolution:{type:Boolean,default:!0},projection:{},extent:{},showZoom:{type:Boolean,default:!1},showAttribution:{type:Boolean,default:!1},showRotate:{type:Boolean,default:!1},showFullScreen:{type:Boolean,default:!1},showOverview:{type:Boolean,default:!1},showScale:{type:Boolean,default:!1},dragPan:{type:Boolean,default:!0},mouseWheelZoom:{type:Boolean,default:!0},doubleClickZoom:{type:Boolean,default:!1},pinchRotate:{type:Boolean},pinchZoom:{type:Boolean},altShiftDragRotate:{type:Boolean}},emits:[`update:zoom`,`update:center`,`changeResolution`,`changeCenter`,`moveend`,`movestart`],setup(e,{expose:o,emit:s}){let c=e,l=s,u=(0,n.ref)(),d=c.olMap,f=new r.View({projection:c.projection,extent:c.extent});d.setView(f),f.setZoom(c.zoom),f.setCenter(c.center),(0,n.watch)(()=>c.constrainResolution,e=>{f.setConstrainResolution(e)},{immediate:!0}),(0,n.watch)(()=>c.minZoom,e=>{e&&f.setMinZoom(e)},{immediate:!0}),(0,n.watch)(()=>c.maxZoom,e=>{e&&f.setMaxZoom(e)},{immediate:!0}),(0,n.watch)(u,e=>{e&&d.setTarget(e)}),o({olMap:d}),(0,n.provide)(t.olMapInjectionKey,d);let p=d.getControls().getArray(),m=p.find(e=>e instanceof i.Zoom)||new i.Zoom,h=p.find(e=>e instanceof i.Attribution)||new i.Attribution,g=p.find(e=>e instanceof i.Rotate)||new i.Rotate,_=p.find(e=>e instanceof i.FullScreen)||new i.FullScreen,v=p.find(e=>e instanceof i.OverviewMap)||new i.OverviewMap,y=p.find(e=>e instanceof i.ScaleLine)||new i.ScaleLine;(0,n.watch)(()=>c.showZoom,e=>{m.setMap(e?d:null)},{immediate:!0}),(0,n.watch)(()=>c.showAttribution,e=>{h.setMap(e?d:null)},{immediate:!0}),(0,n.watch)(()=>c.showRotate,e=>{g.setMap(e?d:null)},{immediate:!0}),(0,n.watch)(()=>c.showFullScreen,e=>{_.setMap(e?d:null)},{immediate:!0}),(0,n.watch)(()=>c.showOverview,e=>{v.setMap(e?d:null)},{immediate:!0}),(0,n.watch)(()=>c.showScale,e=>{y.setMap(e?d:null)},{immediate:!0});let b=d.getInteractions().getArray(),x=b.find(e=>e instanceof a.DragPan)||new a.DragPan,S=b.find(e=>e instanceof a.MouseWheelZoom)||new a.MouseWheelZoom,C=b.find(e=>e instanceof a.DoubleClickZoom)||new a.DoubleClickZoom,w=b.find(e=>e instanceof a.PinchRotate)||new a.PinchRotate,T=b.find(e=>e instanceof a.PinchZoom)||new a.PinchZoom,E=b.find(e=>e instanceof a.DragRotate)||new a.DragRotate,D=b.find(e=>e instanceof a.KeyboardPan)||new a.KeyboardPan,O=b.find(e=>e instanceof a.KeyboardZoom)||new a.KeyboardZoom;d.removeInteraction(x),d.addInteraction(x),d.removeInteraction(S),d.addInteraction(S),d.removeInteraction(C),d.addInteraction(C),d.removeInteraction(w),d.addInteraction(w),d.removeInteraction(T),d.addInteraction(T),d.removeInteraction(E),d.addInteraction(E),d.removeInteraction(D),d.removeInteraction(O),(0,n.watch)(()=>c.dragPan,e=>{x.setActive(e)},{immediate:!0}),(0,n.watch)(()=>c.mouseWheelZoom,e=>{S.setActive(e)},{immediate:!0}),(0,n.watch)(()=>c.doubleClickZoom,e=>{C.setActive(e)},{immediate:!0}),(0,n.watch)(()=>c.pinchRotate,e=>{w.setActive(e)},{immediate:!0}),(0,n.watch)(()=>c.pinchZoom,e=>{T.setActive(e)},{immediate:!0}),(0,n.watch)(()=>c.altShiftDragRotate,e=>{E.setActive(e)},{immediate:!0});function k(e){l(`update:zoom`,Math.floor(f.getZoom()||0)),l(`changeResolution`,e)}(0,n.onMounted)(()=>{f.on(`change:resolution`,k)}),(0,n.onUnmounted)(()=>{f.un(`change:resolution`,k)});function A(e){l(`update:center`,f.getCenter()||[0,0]),l(`changeCenter`,e)}(0,n.onMounted)(()=>{f.on(`change:center`,A)}),(0,n.onUnmounted)(()=>{f.un(`change:center`,A)});function j(e){l(`movestart`,e)}(0,n.onMounted)(()=>{d.on(`movestart`,j)}),(0,n.onUnmounted)(()=>{d.un(`movestart`,j)});function M(e){l(`moveend`,e)}return(0,n.onMounted)(()=>{d.on(`moveend`,M)}),(0,n.onUnmounted)(()=>{d.un(`moveend`,M)}),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`mapRef`,ref:u},[(0,n.renderSlot)(e.$slots,`default`,{olMap:(0,n.unref)(d),mapRef:u.value})],512))}});exports.default=o;
@@ -49,12 +49,17 @@ export declare function usePointermove<T extends Option>({ mapRef, items, forceU
49
49
  x: number;
50
50
  y: number;
51
51
  }>;
52
+ offset: import('vue').ComputedRef<{
53
+ x: number;
54
+ y: number;
55
+ }>;
52
56
  originalPosition: import('vue').ComputedRef<{
53
57
  x: number;
54
58
  y: number;
55
59
  }>;
56
60
  feature: import('vue').ComputedRef<FeatureLike | undefined>;
57
61
  content: import('vue').ComputedRef<string | (() => VNodeChild) | undefined>;
62
+ originalCoordinate: import('vue').ComputedRef<Coordinate | undefined>;
58
63
  coordinate: import('vue').ComputedRef<Coordinate | undefined>;
59
64
  option: import('vue').ComputedRef<T | undefined>;
60
65
  hide: () => void;
@@ -1 +1 @@
1
- const e=require(`../../_virtual/rolldown_runtime.js`);let t=require(`vue`);t=e.__toESM(t);let n=require(`ol/extent`);n=e.__toESM(n);function r({mapRef:e,items:r,forceUpdate:i=!1}){let a=(0,t.ref)(!1),o=(0,t.ref)({x:0,y:0}),s=(0,t.ref)(),c=(0,t.ref)(),l=(0,t.ref)({x:0,y:0}),u=(0,t.ref)(),d=(0,t.ref)(),f=(0,t.computed)(()=>({x:o.value.x+l.value.x,y:o.value.y+l.value.y})),p,m,h=``;function g(e){let n=(0,t.toValue)(r);return n.sort((e,t)=>(t.priority??0)-(e.priority??0)),n.find(t=>{let n=t.visible;return typeof n==`function`?n(e):n??!0})}function _(e){if(e.dragging||!p||!m)return;let t=e.coordinate;u.value=t;let r=e.pixel,f,h;if(p.forEachFeatureAtPixel(r,(e,t)=>(f=e,h=t,!0)),!f){v();return}if(!i&&s.value&&s.value.getId()===f.getId())return;s.value=f;let{top:_,left:y}=m.getBoundingClientRect(),b={map:p,position:{x:r[0]+y,y:r[1]+_},coordinate:t,feature:f,layer:h},x=g(b);if(x){let{content:e,cursor:t,visible:n,fixedFeatureCenter:r,offset:i,priority:a,...o}=x;d.value={...o}}if(!x){v();return}l.value={x:x.offset?.x??0,y:x.offset?.y??0};let S=i===!1?!0:x.fixedFeatureCenter??!0,C=f.getGeometry();if(S&&C){let e=(0,n.getCenter)(C.getExtent());r=p.getPixelFromCoordinate(e)}o.value.x=r[0]+y,o.value.y=r[1]+_;let w=x.content;c.value=typeof w==`function`?()=>w(b):w;let T=x.cursor,E=typeof T==`function`?T(b):T;E!==void 0&&E!==m.style.cursor&&(m.style.cursor=E),a.value=!0}function v(){a.value=!1,s.value=void 0,m&&m.style.cursor!==h&&(m.style.cursor=h)}function y(e){e.on(`pointermove`,_)}function b(e){e.un(`pointermove`,_)}return(0,t.watch)(()=>(0,t.toValue)(e),(e,t)=>{t&&b(t),t!==e&&(p=e,e&&(m=e.getViewport(),y(e),h=m.style.cursor))},{immediate:!0}),(0,t.onBeforeUnmount)(()=>{p&&b(p)}),{visible:(0,t.computed)(()=>a.value),position:(0,t.computed)(()=>f.value),originalPosition:(0,t.computed)(()=>o.value),feature:(0,t.computed)(()=>s.value),content:(0,t.computed)(()=>c.value),coordinate:(0,t.computed)(()=>u.value),option:(0,t.computed)(()=>d.value),hide:v}}exports.usePointermove=r;
1
+ const e=require(`../../_virtual/rolldown_runtime.js`);let t=require(`vue`);t=e.__toESM(t);let n=require(`ol/extent`);n=e.__toESM(n);function r({mapRef:e,items:r,forceUpdate:i=!1}){let a=(0,t.ref)(!1),o=(0,t.ref)({x:0,y:0}),s=(0,t.ref)(),c=(0,t.ref)(),l=(0,t.ref)({x:0,y:0}),u=(0,t.ref)(),d=(0,t.ref)(),f=(0,t.ref)(),p=(0,t.computed)(()=>({x:o.value.x+l.value.x,y:o.value.y+l.value.y})),m,h,g=``;function _(e){let n=(0,t.toValue)(r);return n.sort((e,t)=>(t.priority??0)-(e.priority??0)),n.find(t=>{let n=t.visible;return typeof n==`function`?n(e):n??!0})}function v(e){if(e.dragging||!m||!h)return;let t=e.coordinate;u.value=t,d.value=t;let r=e.pixel,p,g;if(m.forEachFeatureAtPixel(r,(e,t)=>(p=e,g=t,!0)),!p){y();return}if(!i&&s.value&&s.value.getId()===p.getId())return;s.value=p;let{top:v,left:b}=h.getBoundingClientRect(),x={map:m,position:{x:r[0]+b,y:r[1]+v},coordinate:t,feature:p,layer:g},S=_(x);if(S){let{content:e,cursor:t,visible:n,fixedFeatureCenter:r,offset:i,priority:a,...o}=S;f.value={...o}}if(!S){y();return}l.value={x:S.offset?.x??0,y:S.offset?.y??0};let C=i===!1?!0:S.fixedFeatureCenter??!0,w=p.getGeometry();if(C&&w){let e=(0,n.getCenter)(w.getExtent());d.value=e,r=m.getPixelFromCoordinate(e)}o.value.x=r[0]+b,o.value.y=r[1]+v;let T=S.content;c.value=typeof T==`function`?()=>T(x):T;let E=S.cursor,D=typeof E==`function`?E(x):E;D!==void 0&&D!==h.style.cursor&&(h.style.cursor=D),a.value=!0}function y(){a.value=!1,s.value=void 0,h&&h.style.cursor!==g&&(h.style.cursor=g)}function b(e){e.on(`pointermove`,v)}function x(e){e.un(`pointermove`,v)}return(0,t.watch)(()=>(0,t.toValue)(e),(e,t)=>{t&&x(t),t!==e&&(m=e,e&&(h=e.getViewport(),b(e),g=h.style.cursor))},{immediate:!0}),(0,t.onBeforeUnmount)(()=>{m&&x(m)}),{visible:(0,t.computed)(()=>a.value),position:(0,t.computed)(()=>p.value),offset:(0,t.computed)(()=>l.value),originalPosition:(0,t.computed)(()=>o.value),feature:(0,t.computed)(()=>s.value),content:(0,t.computed)(()=>c.value),originalCoordinate:(0,t.computed)(()=>u.value),coordinate:(0,t.computed)(()=>d.value),option:(0,t.computed)(()=>f.value),hide:y}}exports.usePointermove=r;
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- const e=require(`./components/ol-map/props.js`),t=require(`./components/ol-map/index.js`);require(`./components/index.js`);const n=require(`./composables/useContextmenu/index.js`),r=require(`./constants/distance.js`),i=require(`./constants/projection.js`),a=require(`./utils/distance/index.js`),o=require(`./utils/style/index.js`),s=require(`./utils/feature/index.js`),c=require(`./utils/layer/index.js`),l=require(`./utils/projection/index.js`);require(`./utils/index.js`);const u=require(`./composables/useDrawLineString/index.js`),d=require(`./composables/useDrawPolygon/index.js`),f=require(`./composables/useGraticule/index.js`),p=require(`./composables/usePointermove/index.js`),m=require(`./composables/useSwitchBaseLayer/index.js`);require(`./composables/index.js`),exports.EPSG_3857=i.EPSG_3857,exports.EPSG_3857ExtentToEPSG_4326=l.EPSG_3857ExtentToEPSG_4326,exports.EPSG_3857ToEPSG_4326=l.EPSG_3857ToEPSG_4326,exports.EPSG_4326=i.EPSG_4326,exports.EPSG_4326ExtentToEPSG_3857=l.EPSG_4326ExtentToEPSG_3857,exports.EPSG_4326ToEPSG_3857=l.EPSG_4326ToEPSG_3857,exports.ONE_NM=r.ONE_NM,exports.OlMap=t.default,exports.WGS84Projection=i.WGS84Projection,exports.WebMercatorProjection=i.WebMercatorProjection,exports.createBingLayer=c.createBingLayer,exports.createCircle=s.createCircle,exports.createCircleFeature=s.createCircleFeature,exports.createCircleStyle=o.createCircleStyle,exports.createFeature=s.createFeature,exports.createLineString=s.createLineString,exports.createLineStringFeature=s.createLineStringFeature,exports.createMultiLineString=s.createMultiLineString,exports.createMultiLineStringFeature=s.createMultiLineStringFeature,exports.createMultiPoint=s.createMultiPoint,exports.createMultiPointFeature=s.createMultiPointFeature,exports.createMultiPolygon=s.createMultiPolygon,exports.createMultiPolygonFeature=s.createMultiPolygonFeature,exports.createOpenStreetMapLayer=c.createOpenStreetMapLayer,exports.createPoint=s.createPoint,exports.createPointFeature=s.createPointFeature,exports.createPolygon=s.createPolygon,exports.createPolygonFeature=s.createPolygonFeature,exports.createStyle=o.createStyle,exports.createTextStyle=o.createTextStyle,exports.createTianDiTuLayer=c.createTianDiTuLayer,exports.createTianDiTuUrl=c.createTianDiTuUrl,exports.createVectorLayer=c.createVectorLayer,exports.formatAngle=a.formatAngle,exports.formatRotation=a.formatRotation,exports.kmToNauticalMiles=a.kmToNauticalMiles,exports.mercatorExtentToWgs84=l.mercatorExtentToWgs84,exports.mercatorToWgs84=l.mercatorToWgs84,exports.nauticalMilesToKm=a.nauticalMilesToKm,exports.olMapInjectionKey=e.olMapInjectionKey,exports.useContextmenu=n.useContextmenu,exports.useDrawLineString=u.useDrawLineString,exports.useDrawPolygon=d.useDrawPolygon,exports.useGraticule=f.useGraticule,exports.useOlMap=e.useOlMap,exports.usePointermove=p.usePointermove,exports.useSwitchBaseLayer=m.useSwitchBaseLayer,exports.wgs84ExtentToMercator=l.wgs84ExtentToMercator,exports.wgs84ToMercator=l.wgs84ToMercator;
1
+ const e=require(`./components/ol-map/props.js`),t=require(`./components/ol-map/index.js`);require(`./components/index.js`);const n=require(`./composables/useContextmenu/index.js`),r=require(`./constants/distance.js`),i=require(`./constants/projection.js`),a=require(`./utils/distance/index.js`),o=require(`./utils/style/index.js`),s=require(`./utils/feature/index.js`),c=require(`./utils/layer/index.js`),l=require(`./utils/projection/index.js`);require(`./utils/index.js`);const u=require(`./composables/useDrawLineString/index.js`),d=require(`./composables/useDrawPolygon/index.js`),f=require(`./composables/useGraticule/index.js`),p=require(`./composables/usePointermove/index.js`),m=require(`./composables/useSwitchBaseLayer/index.js`);require(`./composables/index.js`),exports.EPSG_3857=i.EPSG_3857,exports.EPSG_3857ExtentToEPSG_4326=l.EPSG_3857ExtentToEPSG_4326,exports.EPSG_3857ToEPSG_4326=l.EPSG_3857ToEPSG_4326,exports.EPSG_4326=i.EPSG_4326,exports.EPSG_4326ExtentToEPSG_3857=l.EPSG_4326ExtentToEPSG_3857,exports.EPSG_4326ToEPSG_3857=l.EPSG_4326ToEPSG_3857,exports.ONE_NM=r.ONE_NM,exports.OlMap=t.default,exports.WGS84Projection=i.WGS84Projection,exports.WebMercatorProjection=i.WebMercatorProjection,exports.createBingLayer=c.createBingLayer,exports.createCircle=s.createCircle,exports.createCircleFeature=s.createCircleFeature,exports.createCircleStyle=o.createCircleStyle,exports.createFeature=s.createFeature,exports.createLineString=s.createLineString,exports.createLineStringFeature=s.createLineStringFeature,exports.createMultiLineString=s.createMultiLineString,exports.createMultiLineStringFeature=s.createMultiLineStringFeature,exports.createMultiPoint=s.createMultiPoint,exports.createMultiPointFeature=s.createMultiPointFeature,exports.createMultiPolygon=s.createMultiPolygon,exports.createMultiPolygonFeature=s.createMultiPolygonFeature,exports.createOpenStreetMapLayer=c.createOpenStreetMapLayer,exports.createPoint=s.createPoint,exports.createPointFeature=s.createPointFeature,exports.createPolygon=s.createPolygon,exports.createPolygonFeature=s.createPolygonFeature,exports.createStyle=o.createStyle,exports.createTextStyle=o.createTextStyle,exports.createTianDiTuLayer=c.createTianDiTuLayer,exports.createTianDiTuUrl=c.createTianDiTuUrl,exports.createVectorLayer=c.createVectorLayer,exports.createVectorSource=c.createVectorSource,exports.createWebGLVectorLayer=c.createWebGLVectorLayer,exports.formatAngle=a.formatAngle,exports.formatRotation=a.formatRotation,exports.kmToNauticalMiles=a.kmToNauticalMiles,exports.mercatorExtentToWgs84=l.mercatorExtentToWgs84,exports.mercatorToWgs84=l.mercatorToWgs84,exports.nauticalMilesToKm=a.nauticalMilesToKm,exports.olMapInjectionKey=e.olMapInjectionKey,exports.useContextmenu=n.useContextmenu,exports.useDrawLineString=u.useDrawLineString,exports.useDrawPolygon=d.useDrawPolygon,exports.useGraticule=f.useGraticule,exports.useOlMap=e.useOlMap,exports.usePointermove=p.usePointermove,exports.useSwitchBaseLayer=m.useSwitchBaseLayer,exports.wgs84ExtentToMercator=l.wgs84ExtentToMercator,exports.wgs84ToMercator=l.wgs84ToMercator;
@@ -2,8 +2,10 @@ import { StyleOptions } from '../style';
2
2
  import { Feature } from 'ol';
3
3
  import { Geometry } from 'ol/geom';
4
4
  import { ProjectionLike } from 'ol/proj';
5
+ import { FlatStyleLike } from 'ol/style/flat';
5
6
  import { Tile as TileLayer } from 'ol/layer';
6
7
  import { default as VectorLayer } from 'ol/layer/Vector';
8
+ import { default as WebGLVectorLayer } from 'ol/layer/WebGLVector';
7
9
  import { BingMaps, OSM, XYZ } from 'ol/source';
8
10
  import { default as VectorSource } from 'ol/source/Vector';
9
11
  export type T_MAP_TYPE = 'vec' | 'cva' | 'img' | 'cia' | 'ter' | 'cta' | 'ibo';
@@ -35,11 +37,24 @@ export interface CreateOpenStreetMapLayerOptions {
35
37
  sourceOptions?: BingMapsSourceOptions;
36
38
  }
37
39
  export declare function createOpenStreetMapLayer(data?: CreateOpenStreetMapLayerOptions): TileLayer<import('ol/source').Tile<import('ol').Tile>>;
38
- export type _VectorLayerOptions = ConstructorParameters<typeof VectorLayer>[0];
39
- export type VectorLayerOptions = _VectorLayerOptions & {
40
+ export type _VectorSourceOptions<T extends Geometry = Geometry> = ConstructorParameters<typeof VectorSource<Feature<T>>>[0];
41
+ export type VectorSourceOptions<T extends Geometry = Geometry> = _VectorSourceOptions<T>;
42
+ export declare function createVectorSource<T extends Geometry = Geometry>(options?: VectorSourceOptions<T>): VectorSource<Feature<T>>;
43
+ export type _VectorLayerOptions<T extends Geometry = Geometry> = ConstructorParameters<typeof VectorLayer<VectorSource<Feature<T>>>>[0];
44
+ export type VectorLayerOptions<T extends Geometry = Geometry> = _VectorLayerOptions<T> & {
40
45
  styleOptions?: StyleOptions;
46
+ sourceOptions?: VectorSourceOptions<T>;
41
47
  };
42
- export declare function createVectorLayer<T extends Geometry = Geometry>(options?: VectorLayerOptions): {
48
+ export declare function createVectorLayer<T extends Geometry = Geometry>(options?: VectorLayerOptions<T>): {
43
49
  source: VectorSource<Feature<T>>;
44
- layer: VectorLayer<VectorSource<import('ol/Feature').FeatureLike>, import('ol/Feature').FeatureLike>;
50
+ layer: VectorLayer<VectorSource<Feature<T>>, Feature<T>>;
51
+ };
52
+ export type _WebGLVectorLayerOptions<T extends Geometry = Geometry> = ConstructorParameters<typeof WebGLVectorLayer<VectorSource<Feature<T>>>>[0];
53
+ export type WebGLVectorLayerOptions<T extends Geometry = Geometry> = _WebGLVectorLayerOptions<T> & {
54
+ style: FlatStyleLike;
55
+ sourceOptions?: VectorSourceOptions<T>;
56
+ };
57
+ export declare function createWebGLVectorLayer<T extends Geometry = Geometry>(options: WebGLVectorLayerOptions<T>): {
58
+ source: VectorSource<Feature<T>>;
59
+ layer: WebGLVectorLayer<VectorSource<Feature<T>>, Feature<T>>;
45
60
  };
@@ -1 +1 @@
1
- const e=require(`../../_virtual/rolldown_runtime.js`),t=require(`../../constants/projection.js`),n=require(`../style/index.js`);let r=require(`ol/layer/Vector`);r=e.__toESM(r);let i=require(`ol/source/Vector`);i=e.__toESM(i);let a=require(`ol/layer`);a=e.__toESM(a);let o=require(`ol/source`);o=e.__toESM(o);function s(e){let{type:n=`img`,projection:r=t.WebMercatorProjection,key:i}=e,a=e.url||`https://t{0-4}.tianditu.gov.cn`,o=`&tk=${i}&SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}`;return`${a}/${n}_${r===`EPSG:4326`?`c`:r===`EPSG:3857`?`w`:`c`}/wmts?LAYER=${n}${o}`}function c(e){let{layerOptions:t,sourceOptions:n,...r}=e;return new a.Tile({source:new o.XYZ({url:s(r),projection:r.projection,crossOrigin:`Anonymous`,...n}),...t})}function l({name:e,key:t,layerOptions:n,sourceOptions:r}){return new a.Tile({source:new o.BingMaps({key:t,imagerySet:e,placeholderTiles:!1,...r}),...n})}function u(e){let{layerOptions:t,sourceOptions:n}=e||{};return new a.Tile({source:new o.OSM({crossOrigin:`Anonymous`,...n}),...t})}function d(e){let{styleOptions:t,...a}=e||{},o=t?n.createStyle(t):void 0,s=new i.default;return{source:s,layer:new r.default({source:s,...a,style:o||a.style})}}exports.createBingLayer=l,exports.createOpenStreetMapLayer=u,exports.createTianDiTuLayer=c,exports.createTianDiTuUrl=s,exports.createVectorLayer=d;
1
+ const e=require(`../../_virtual/rolldown_runtime.js`),t=require(`../../constants/projection.js`),n=require(`../style/index.js`);let r=require(`ol/layer/Vector`);r=e.__toESM(r);let i=require(`ol/source/Vector`);i=e.__toESM(i);let a=require(`ol/layer`);a=e.__toESM(a);let o=require(`ol/layer/WebGLVector`);o=e.__toESM(o);let s=require(`ol/source`);s=e.__toESM(s);function c(e){let{type:n=`img`,projection:r=t.WebMercatorProjection,key:i}=e,a=e.url||`https://t{0-4}.tianditu.gov.cn`,o=`&tk=${i}&SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}`;return`${a}/${n}_${r===`EPSG:4326`?`c`:r===`EPSG:3857`?`w`:`c`}/wmts?LAYER=${n}${o}`}function l(e){let{layerOptions:t,sourceOptions:n,...r}=e;return new a.Tile({source:new s.XYZ({url:c(r),projection:r.projection,crossOrigin:`Anonymous`,...n}),...t})}function u({name:e,key:t,layerOptions:n,sourceOptions:r}){return new a.Tile({source:new s.BingMaps({key:t,imagerySet:e,placeholderTiles:!1,...r}),...n})}function d(e){let{layerOptions:t,sourceOptions:n}=e||{};return new a.Tile({source:new s.OSM({crossOrigin:`Anonymous`,...n}),...t})}function f(e){return new i.default({...e})}function p(e){let{styleOptions:t,sourceOptions:i,...a}=e||{},o=t?n.createStyle(t):void 0,s=f(i);return{source:s,layer:new r.default({source:s,...a,style:o||a.style})}}function m(e){let{style:t,sourceOptions:n,...r}=e,i=f(n);return{source:i,layer:new o.default({source:i,...r,style:t})}}exports.createBingLayer=u,exports.createOpenStreetMapLayer=d,exports.createTianDiTuLayer=l,exports.createTianDiTuUrl=c,exports.createVectorLayer=p,exports.createVectorSource=f,exports.createWebGLVectorLayer=m;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@summeruse/ol",
3
3
  "type": "module",
4
- "version": "0.3.0",
4
+ "version": "0.3.2",
5
5
  "description": "",
6
6
  "author": "finalsummer",
7
7
  "license": "ISC",