@summeruse/ol 0.2.0-alpha.1 → 0.2.0-alpha.3

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.
@@ -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}},setup(e,{expose:o}){let s=e,c=(0,n.ref)(),l=s.olMap,u=new r.View({projection:s.projection,extent:s.extent});l.setView(u),(0,n.watch)(()=>s.zoom,e=>{u.setZoom(e)},{immediate:!0}),(0,n.watch)(()=>s.center,e=>{u.setCenter(e)},{immediate:!0}),(0,n.watch)(()=>s.constrainResolution,e=>{u.setConstrainResolution(e)},{immediate:!0}),(0,n.watch)(()=>s.minZoom,e=>{e&&u.setMinZoom(e)},{immediate:!0}),(0,n.watch)(()=>s.maxZoom,e=>{e&&u.setMaxZoom(e)},{immediate:!0}),(0,n.watch)(c,e=>{e&&l.setTarget(e)}),o({olMap:l}),(0,n.provide)(t.olMapInjectionKey,l);let d=l.getControls().getArray(),f=d.find(e=>e instanceof i.Zoom)||new i.Zoom,p=d.find(e=>e instanceof i.Attribution)||new i.Attribution,m=d.find(e=>e instanceof i.Rotate)||new i.Rotate,h=d.find(e=>e instanceof i.FullScreen)||new i.FullScreen,g=d.find(e=>e instanceof i.OverviewMap)||new i.OverviewMap,_=d.find(e=>e instanceof i.ScaleLine)||new i.ScaleLine;(0,n.watch)(()=>s.showZoom,e=>{f.setMap(e?l:null)},{immediate:!0}),(0,n.watch)(()=>s.showAttribution,e=>{p.setMap(e?l:null)},{immediate:!0}),(0,n.watch)(()=>s.showRotate,e=>{m.setMap(e?l:null)},{immediate:!0}),(0,n.watch)(()=>s.showFullScreen,e=>{h.setMap(e?l:null)},{immediate:!0}),(0,n.watch)(()=>s.showOverview,e=>{g.setMap(e?l:null)},{immediate:!0}),(0,n.watch)(()=>s.showScale,e=>{_.setMap(e?l:null)},{immediate:!0});let v=l.getInteractions().getArray(),y=v.find(e=>e instanceof a.DragPan)||new a.DragPan,b=v.find(e=>e instanceof a.MouseWheelZoom)||new a.MouseWheelZoom,x=v.find(e=>e instanceof a.DoubleClickZoom)||new a.DoubleClickZoom,S=v.find(e=>e instanceof a.PinchRotate)||new a.PinchRotate,C=v.find(e=>e instanceof a.PinchZoom)||new a.PinchZoom,w=v.find(e=>e instanceof a.DragRotate)||new a.DragRotate,T=v.find(e=>e instanceof a.KeyboardPan)||new a.KeyboardPan,E=v.find(e=>e instanceof a.KeyboardZoom)||new a.KeyboardZoom;return l.removeInteraction(y),l.addInteraction(y),l.removeInteraction(b),l.addInteraction(b),l.removeInteraction(x),l.addInteraction(x),l.removeInteraction(S),l.addInteraction(S),l.removeInteraction(C),l.addInteraction(C),l.removeInteraction(w),l.addInteraction(w),l.removeInteraction(T),l.removeInteraction(E),(0,n.watch)(()=>s.dragPan,e=>{y.setActive(e)},{immediate:!0}),(0,n.watch)(()=>s.mouseWheelZoom,e=>{b.setActive(e)},{immediate:!0}),(0,n.watch)(()=>s.doubleClickZoom,e=>{x.setActive(e)},{immediate:!0}),(0,n.watch)(()=>s.pinchRotate,e=>{S.setActive(e)},{immediate:!0}),(0,n.watch)(()=>s.pinchZoom,e=>{C.setActive(e)},{immediate:!0}),(0,n.watch)(()=>s.altShiftDragRotate,e=>{w.setActive(e)},{immediate:!0}),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`mapRef`,ref:c},[(0,n.renderSlot)(e.$slots,`default`,{olMap:(0,n.unref)(l),mapRef:c.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:`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,6 +1,7 @@
1
- import { Map as OLMap } from 'ol';
1
+ import { MapEvent, Map as OLMap } from 'ol';
2
2
  import { Coordinate } from 'ol/coordinate';
3
3
  import { Extent } from 'ol/extent';
4
+ import { ObjectEvent } from 'ol/Object';
4
5
  import { InjectionKey } from 'vue';
5
6
  import { ProjectionLike } from '../../constants/projection';
6
7
  export interface OlMapProps {
@@ -27,3 +28,11 @@ export interface OlMapProps {
27
28
  }
28
29
  export declare const olMapInjectionKey: InjectionKey<OLMap>;
29
30
  export declare function useOlMap(): OLMap | undefined;
31
+ export interface OlMapEmits {
32
+ 'update:zoom': [number];
33
+ 'update:center': [Coordinate];
34
+ 'changeResolution': [ObjectEvent];
35
+ 'changeCenter': [ObjectEvent];
36
+ 'moveend': [MapEvent];
37
+ 'movestart': [MapEvent];
38
+ }
@@ -16,9 +16,9 @@ interface PointermoveContentParams {
16
16
  type Cursor = CSSProperties['cursor'];
17
17
  export type PointermoveItem<T extends Option = Option> = {
18
18
  /** 提示内容,支持函数动态生成 */
19
- content: ((params: PointermoveContentParams) => VNodeChild) | string;
19
+ content?: ((params: PointermoveContentParams) => VNodeChild) | string;
20
20
  /** 是否显示提示,可根据 feature 动态判断 */
21
- visible?: ((params: PointermoveContentParams) => boolean) | boolean;
21
+ visible?: ((params: PointermoveContentParams) => boolean | undefined | void) | boolean;
22
22
  /** 位置偏移 */
23
23
  offset?: {
24
24
  x?: number;
@@ -28,14 +28,24 @@ export type PointermoveItem<T extends Option = Option> = {
28
28
  priority?: number;
29
29
  /** 鼠标样式,如 'pointer', 'crosshair', 'move' 等 */
30
30
  cursor?: Cursor | ((params: PointermoveContentParams) => Cursor);
31
- /** 固定在feature center */
31
+ /** 固定在feature center 默认启用,若要关闭需要同时开启强制更新 */
32
32
  fixedFeatureCenter?: boolean;
33
33
  } & T;
34
34
  export type PointermoveList<T extends Option = Option> = PointermoveItem<T>[];
35
35
  export interface Option {
36
36
  [key: string]: any;
37
37
  }
38
- export declare function usePointermove<T extends Option>(mapRef: MaybeRefOrGetter<OLMap | undefined>, items: MaybeRefOrGetter<PointermoveList<T>>): {
38
+ export interface UsePointermoveOptions<T extends Option = Option> {
39
+ /** 地图实例 */
40
+ mapRef: MaybeRefOrGetter<OLMap | undefined>;
41
+ /** 提示配置列表 */
42
+ items: MaybeRefOrGetter<PointermoveList<T>>;
43
+ /** 前置判断条件 */
44
+ enabled?: boolean | (() => boolean | undefined | void);
45
+ /** 强制更新 (开启后,无论 feature 是否变化,都强制更新提示) */
46
+ forceUpdate?: boolean;
47
+ }
48
+ export declare function usePointermove<T extends Option>({ mapRef, items, enabled, forceUpdate }: UsePointermoveOptions<T>): {
39
49
  visible: import('vue').ComputedRef<boolean>;
40
50
  position: import('vue').ComputedRef<{
41
51
  x: number;
@@ -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(e,r){let i=(0,t.ref)(!1),a=(0,t.ref)({x:0,y:0}),o=(0,t.ref)(),s=(0,t.ref)(),c=(0,t.ref)({x:0,y:0}),l=(0,t.ref)(),u=(0,t.ref)(),d=(0,t.computed)(()=>({x:a.value.x+c.value.x,y:a.value.y+c.value.y})),f,p=``;function m(e){let n=(0,t.toValue)(r).filter(t=>{let n=t.visible;return typeof n==`function`?n(e):n??!0});return n.length===0?null:n.sort((e,t)=>(t.priority??0)-(e.priority??0))[0]}function h(e){if(!f)return;let t=f.getEventCoordinate(e);l.value=t;let r=f.getEventPixel(e),d,h;if(f.forEachFeatureAtPixel(r,(e,t)=>(d=e,h=t,!0)),!d){g();return}o.value=d;let _={map:f,position:{x:e.clientX,y:e.clientY},coordinate:t,feature:d,layer:h},v=m(_);if(v){let{content:e,cursor:t,visible:n,fixedFeatureCenter:r,offset:i,priority:a,...o}=v;u.value={...o}}if(!v){g();return}c.value={x:v.offset?.x??0,y:v.offset?.y??0};let y=v.fixedFeatureCenter??!0,b=d.getGeometry();if(y&&b){let e=(0,n.getCenter)(b.getExtent()),t=f.getPixelFromCoordinate(e),{top:r,left:i}=f.getViewport().getBoundingClientRect();a.value.x=t[0]+i,a.value.y=t[1]+r}else a.value={x:e.clientX,y:e.clientY};let x=v.content;s.value=typeof x==`function`?()=>x(_):x;let S=v.cursor,C=typeof S==`function`?S(_):S;if(C&&f){let e=f.getViewport();p||=e.style.cursor,e.style.cursor=C}i.value=!0}function g(){if(i.value=!1,o.value=void 0,f&&p!==void 0){let e=f.getViewport();e.style.cursor=p,p=``}}function _(e){if(!e)return;let t=e.getViewport();t.addEventListener(`pointermove`,h),t.addEventListener(`pointerout`,g)}function v(e){if(!e)return;let t=e.getViewport();t.removeEventListener(`pointermove`,h),t.removeEventListener(`pointerout`,g)}return(0,t.watch)(()=>(0,t.toValue)(e),(e,t)=>{t!==e&&(v(t),_(e),f=e)},{immediate:!0}),(0,t.onBeforeUnmount)(()=>{v(f)}),{visible:(0,t.computed)(()=>i.value),position:(0,t.computed)(()=>d.value),originalPosition:(0,t.computed)(()=>a.value),feature:(0,t.computed)(()=>o.value),content:(0,t.computed)(()=>s.value),coordinate:(0,t.computed)(()=>l.value),option:(0,t.computed)(()=>u.value),hide:g}}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,enabled:i=!0,forceUpdate:a=!1}){let o=(0,t.ref)(!1),s=(0,t.ref)({x:0,y:0}),c=(0,t.ref)(),l=(0,t.ref)(),u=(0,t.ref)({x:0,y:0}),d=(0,t.ref)(),f=(0,t.ref)(),p=(0,t.computed)(()=>({x:s.value.x+u.value.x,y:s.value.y+u.value.y})),m=()=>typeof i==`function`?i():i,h,g,_=``;function v(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 y(e){if(!m()){b();return}if(!h||!g)return;let t=h.getEventCoordinate(e);d.value=t;let r=h.getEventPixel(e),i,p;if(h.forEachFeatureAtPixel(r,(e,t)=>(i=e,p=t,!0)),!i){b();return}if(!a&&c.value&&c.value.getId()===i.getId())return;c.value=i;let _={map:h,position:{x:e.clientX,y:e.clientY},coordinate:t,feature:i,layer:p},y=v(_);if(y){let{content:e,cursor:t,visible:n,fixedFeatureCenter:r,offset:i,priority:a,...o}=y;f.value={...o}}if(!y){b();return}u.value={x:y.offset?.x??0,y:y.offset?.y??0};let x=a===!1?!0:y.fixedFeatureCenter??!0,S=i.getGeometry();if(x&&S){let e=(0,n.getCenter)(S.getExtent()),t=h.getPixelFromCoordinate(e),{top:r,left:i}=g.getBoundingClientRect();s.value.x=t[0]+i,s.value.y=t[1]+r}else s.value={x:e.clientX,y:e.clientY};let C=y.content;l.value=typeof C==`function`?()=>C(_):C;let w=y.cursor,T=typeof w==`function`?w(_):w;T!==void 0&&T!==g.style.cursor&&(g.style.cursor=T),o.value=!0}function b(){o.value=!1,c.value=void 0,g&&g.style.cursor!==_&&(g.style.cursor=_)}function x(e){e.addEventListener(`pointermove`,y)}function S(e){e.removeEventListener(`pointermove`,y)}return(0,t.watch)(()=>(0,t.toValue)(e),(e,t)=>{t!==e&&(h=e,e&&(g=e.getViewport(),S(g),x(g),_=g.style.cursor))},{immediate:!0}),(0,t.onBeforeUnmount)(()=>{g&&S(g)}),{visible:(0,t.computed)(()=>o.value),position:(0,t.computed)(()=>p.value),originalPosition:(0,t.computed)(()=>s.value),feature:(0,t.computed)(()=>c.value),content:(0,t.computed)(()=>l.value),coordinate:(0,t.computed)(()=>d.value),option:(0,t.computed)(()=>f.value),hide:b}}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.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.createPoint=s.createPoint,exports.createPointFeature=s.createPointFeature,exports.createPolygon=s.createPolygon,exports.createPolygonFeature=s.createPolygonFeature,exports.createStyle=o.createStyle,exports.createTextStyle=o.createTextStyle,exports.createVectorLayer=c.createVectorLayer,exports.getBingLayer=c.getBingLayer,exports.getOSMLayer=c.getOSMLayer,exports.getTianDiTuLayer=c.getTianDiTuLayer,exports.getTianDiTuUrl=c.getTianDiTuUrl,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.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,3 +2,7 @@
2
2
  export declare function kmToNauticalMiles(km: number): number;
3
3
  /** 海里转公里 */
4
4
  export declare function nauticalMilesToKm(nauticalMiles: number): number;
5
+ /** 格式化Rotation */
6
+ export declare function formatRotation(rotation: number): number;
7
+ /** 格式化角度 */
8
+ export declare function formatAngle(angle: number): number;
@@ -1 +1 @@
1
- const e=require(`../../constants/distance.js`);function t(t){return t*1e3/e.ONE_NM}function n(t){return t*e.ONE_NM/1e3}exports.kmToNauticalMiles=t,exports.nauticalMilesToKm=n;
1
+ const e=require(`../../constants/distance.js`);function t(t){return t*1e3/e.ONE_NM}function n(t){return t*e.ONE_NM/1e3}function r(e){return e<0?r(e+2*Math.PI):e>2*Math.PI?r(e-2*Math.PI):e}function i(e){return e<0?i(e+360):e>=360?i(e-360):e}exports.formatAngle=i,exports.formatRotation=r,exports.kmToNauticalMiles=t,exports.nauticalMilesToKm=n;
@@ -1,36 +1,40 @@
1
+ import { StyleOptions } from '../style';
1
2
  import { Feature } from 'ol';
2
3
  import { Geometry } from 'ol/geom';
3
4
  import { ProjectionLike } from 'ol/proj';
4
- import { StyleOptions } from '../style';
5
5
  import { Tile as TileLayer } from 'ol/layer';
6
6
  import { default as VectorLayer } from 'ol/layer/Vector';
7
7
  import { BingMaps, OSM, XYZ } from 'ol/source';
8
8
  import { default as VectorSource } from 'ol/source/Vector';
9
9
  export type T_MAP_TYPE = 'vec' | 'cva' | 'img' | 'cia' | 'ter' | 'cta' | 'ibo';
10
- export declare function getTianDiTuUrl(data: {
11
- url?: string;
12
- type: T_MAP_TYPE;
13
- projection: ProjectionLike;
14
- key: string;
15
- }): string;
16
- export declare function getTianDiTuLayer(data: {
10
+ export interface CreateTianDiTuUrlOptions {
17
11
  url?: string;
18
- projection: ProjectionLike;
19
- zIndex?: number;
20
12
  key: string;
21
13
  type: T_MAP_TYPE;
22
- className?: string;
23
- }): TileLayer<XYZ>;
24
- export declare function getBingLayer({ name, zIndex, key, className, }: {
14
+ projection?: ProjectionLike;
15
+ }
16
+ export declare function createTianDiTuUrl(data: CreateTianDiTuUrlOptions): string;
17
+ export type TileLayerOptions = Partial<ConstructorParameters<typeof TileLayer>[0]>;
18
+ export type XYZ_SourceOptions = Partial<ConstructorParameters<typeof XYZ>[0]>;
19
+ export type CreateTianDiTuLayerOptions = CreateTianDiTuUrlOptions & {
20
+ layerOptions?: TileLayerOptions;
21
+ sourceOptions?: XYZ_SourceOptions;
22
+ };
23
+ export declare function createTianDiTuLayer(data: CreateTianDiTuLayerOptions): TileLayer<import('ol/source').Tile<import('ol').Tile>>;
24
+ export type BingMapsSourceOptions = Partial<ConstructorParameters<typeof BingMaps>[0]>;
25
+ export interface CreateBingLayerOptions {
25
26
  name: string;
26
- zIndex?: number;
27
27
  key: string;
28
- className?: string;
29
- }): TileLayer<BingMaps>;
30
- export declare function getOSMLayer(data?: {
31
- zIndex?: number;
32
- className?: string;
33
- }): TileLayer<OSM>;
28
+ layerOptions?: TileLayerOptions;
29
+ sourceOptions?: BingMapsSourceOptions;
30
+ }
31
+ export declare function createBingLayer({ name, key, layerOptions, sourceOptions, }: CreateBingLayerOptions): TileLayer<import('ol/source').Tile<import('ol').Tile>>;
32
+ export type OpenStreetMapSourceOptions = Partial<ConstructorParameters<typeof OSM>[0]>;
33
+ export interface CreateOpenStreetMapLayerOptions {
34
+ layerOptions?: TileLayerOptions;
35
+ sourceOptions?: BingMapsSourceOptions;
36
+ }
37
+ export declare function createOpenStreetMapLayer(data?: CreateOpenStreetMapLayerOptions): TileLayer<import('ol/source').Tile<import('ol').Tile>>;
34
38
  export type _VectorLayerOptions = ConstructorParameters<typeof VectorLayer>[0];
35
39
  export type VectorLayerOptions = _VectorLayerOptions & {
36
40
  styleOptions?: StyleOptions;
@@ -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{zIndex:t,projection:n,className:r}=e;return new a.Tile({className:r,source:new o.XYZ({url:s(e),projection:n,crossOrigin:`Anonymous`}),zIndex:t})}function l({name:e,zIndex:t,key:n,className:r}){return new a.Tile({className:r,source:new o.BingMaps({key:n,imagerySet:e,placeholderTiles:!1}),zIndex:t})}function u(e){return new a.Tile({className:e?.className,source:new o.OSM({crossOrigin:`Anonymous`}),zIndex:e?.zIndex})}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.createVectorLayer=d,exports.getBingLayer=l,exports.getOSMLayer=u,exports.getTianDiTuLayer=c,exports.getTianDiTuUrl=s;
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;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@summeruse/ol",
3
3
  "type": "module",
4
- "version": "0.2.0-alpha.1",
4
+ "version": "0.2.0-alpha.3",
5
5
  "description": "",
6
6
  "author": "finalsummer",
7
7
  "license": "ISC",