jgis 1.0.5 → 1.0.7
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/README.md +56 -9
- package/dist/3d/index.js +1 -1
- package/dist/3d/index.mjs +16 -14
- package/dist/3d/layer.d.ts +1 -1
- package/dist/3d/types.d.ts +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
|
|
10
10
|
**JGIS** 是一个基于函数式编程思维构建的轻量级 GIS 工具库。它采用多入口架构,严格分离二维(OpenLayers)与三维(Cesium)依赖,提供开箱即用的高阶交互钩子和统一的 API 设计。
|
|
11
11
|
|
|
12
|
+
## 🚀 官网
|
|
13
|
+
|
|
14
|
+
[前往jgis](https://guidozijef.github.io/jgis-docs/)
|
|
15
|
+
|
|
12
16
|
## ✨ 核心特性
|
|
13
17
|
|
|
14
18
|
* **📦 多入口架构 (Multi-Entry)**:
|
|
@@ -25,7 +29,7 @@
|
|
|
25
29
|
* **🗺️ 二三维API风格一致**:
|
|
26
30
|
* 二三维API风格一致,方便会一种框架的开发者快速理解和上手开发另一种框架。
|
|
27
31
|
* **🗺️ 完全兼容openlayers/cesium**:
|
|
28
|
-
*
|
|
32
|
+
* 通过`getInstance`方法获取地图实例,可自己操作框架`openlayers/cesium`原生API。
|
|
29
33
|
* 如果有特殊需求,完全可以自己用原生实现,没有任何违和感。
|
|
30
34
|
|
|
31
35
|
|
|
@@ -64,7 +68,7 @@ import { useMap } from 'jgis/2d';
|
|
|
64
68
|
|
|
65
69
|
onMounted(() => {
|
|
66
70
|
// 初始化地图,会自动注册为全局激活实例
|
|
67
|
-
const {
|
|
71
|
+
const { getInstance, addMarker, createLayer } = useMap('map-container', {
|
|
68
72
|
center: [116.4, 39.9],
|
|
69
73
|
zoom: 10
|
|
70
74
|
});
|
|
@@ -164,12 +168,12 @@ onHover(data => {
|
|
|
164
168
|
```
|
|
165
169
|
|
|
166
170
|
|
|
167
|
-
### 3.
|
|
171
|
+
### 3. 异步获取
|
|
168
172
|
|
|
169
173
|
如果创建地图的`useMap`在一个文件,而选择交互在另一个文件,可以使用异步调用。在文件中使用`onMapReady`和`getMapContext`方法来获取地图方法,而不需要传递跟地图相关的任何参数,但是必须指定地图容器的 id。例如:
|
|
170
174
|
|
|
171
175
|
```js
|
|
172
|
-
import { onMapReady, getMapContext } from 'jgis/2d';
|
|
176
|
+
import { onMapReady, getMapContext, getMapContextAsync } from 'jgis/2d';
|
|
173
177
|
|
|
174
178
|
// 'map-container' 是地图容器的 id
|
|
175
179
|
onMapReady('map-container', ({ createLayer, flyTo }) => {
|
|
@@ -177,10 +181,31 @@ onMapReady('map-container', ({ createLayer, flyTo }) => {
|
|
|
177
181
|
})
|
|
178
182
|
|
|
179
183
|
|
|
180
|
-
|
|
184
|
+
getMapContextAsync('map-container').then(({ createLayer, flyTo }) => {
|
|
181
185
|
|
|
182
186
|
})
|
|
183
187
|
|
|
188
|
+
|
|
189
|
+
const { createLayer, flyTo,getZoom } = getMapContext('map-container');
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
**注意:** ⚠️ 所有通过 `getMapContext` 获取的 API 都是异步的。
|
|
194
|
+
|
|
195
|
+
- 当你需要返回值或严格的执行顺序时,请使用 `await`
|
|
196
|
+
- 当你只是触发行为时,可以直接调用
|
|
197
|
+
|
|
198
|
+
例如:
|
|
199
|
+
|
|
200
|
+
```js
|
|
201
|
+
import { onMapReady, getMapContext, getMapContextAsync } from 'jgis/2d';
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
const { createLayer, flyTo, getZoom } = getMapContext('map-container');
|
|
205
|
+
|
|
206
|
+
const zoom = await getZoom();
|
|
207
|
+
await createLayer({ ... });
|
|
208
|
+
|
|
184
209
|
```
|
|
185
210
|
|
|
186
211
|
|
|
@@ -266,12 +291,12 @@ onHover((data) => {
|
|
|
266
291
|
|
|
267
292
|
|
|
268
293
|
|
|
269
|
-
### 3.
|
|
294
|
+
### 3. 异步获取
|
|
270
295
|
|
|
271
|
-
如果创建地图的`useMap`在一个文件,而选择交互在另一个文件,可以使用异步调用。在文件中使用`onMapReady`和`getMapContext`方法来获取地图方法,而不需要传递跟地图相关的任何参数,但是必须指定地图容器的 id
|
|
296
|
+
如果创建地图的`useMap`在一个文件,而选择交互在另一个文件,可以使用异步调用。在文件中使用`onMapReady`和`getMapContext`方法来获取地图方法,而不需要传递跟地图相关的任何参数,但是必须指定地图容器的 id。可以在单文件中使用,例如:
|
|
272
297
|
|
|
273
298
|
```js
|
|
274
|
-
import { onMapReady, getMapContext } from 'jgis/3d';
|
|
299
|
+
import { onMapReady, getMapContext, getMapContextAsync } from 'jgis/3d';
|
|
275
300
|
|
|
276
301
|
// 'map-container' 是地图容器的 id
|
|
277
302
|
onMapReady('map-container', ({ createLayer, flyTo }) => {
|
|
@@ -279,10 +304,32 @@ onMapReady('map-container', ({ createLayer, flyTo }) => {
|
|
|
279
304
|
})
|
|
280
305
|
|
|
281
306
|
|
|
282
|
-
|
|
307
|
+
getMapContextAsync('map-container').then(({ createLayer, flyTo }) => {
|
|
283
308
|
|
|
284
309
|
})
|
|
285
310
|
|
|
311
|
+
|
|
312
|
+
const { createLayer, flyTo,getZoom } = getMapContext('map-container');
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
**注意:**⚠️ 所有通过 `getMapContext` 获取的 API 都是异步的。
|
|
318
|
+
|
|
319
|
+
- 当你需要返回值或严格的执行顺序时,请使用 await
|
|
320
|
+
- 当你只是触发行为时,可以直接调用
|
|
321
|
+
|
|
322
|
+
例如:
|
|
323
|
+
|
|
324
|
+
```js
|
|
325
|
+
import { onMapReady, getMapContext, getMapContextAsync } from 'jgis/3d';
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
const { createLayer, flyTo, getLayerByName } = getMapContext('map-container');
|
|
329
|
+
|
|
330
|
+
const zoom = await getLayerByName('layer-name');
|
|
331
|
+
await createLayer({ ... });
|
|
332
|
+
|
|
286
333
|
```
|
|
287
334
|
|
|
288
335
|
|
package/dist/3d/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var C=Object.defineProperty,L=Object.defineProperties;var I=Object.getOwnPropertyDescriptors;var v=Object.getOwnPropertySymbols;var k=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var b=(t,r,e)=>r in t?C(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e,m=(t,r)=>{for(var e in r||(r={}))k.call(r,e)&&b(t,e,r[e]);if(v)for(var e of v(r))O.call(r,e)&&b(t,e,r[e]);return t},p=(t,r)=>L(t,I(r));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("cesium"),
|
|
1
|
+
"use strict";var C=Object.defineProperty,L=Object.defineProperties;var I=Object.getOwnPropertyDescriptors;var v=Object.getOwnPropertySymbols;var k=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var b=(t,r,e)=>r in t?C(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e,m=(t,r)=>{for(var e in r||(r={}))k.call(r,e)&&b(t,e,r[e]);if(v)for(var e of v(r))O.call(r,e)&&b(t,e,r[e]);return t},p=(t,r)=>L(t,I(r));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("cesium"),S=require("../index.js");function _(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const a=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(r,e,a.get?a:{enumerable:!0,get:()=>t[e]})}}return r.default=t,Object.freeze(r)}const c=_(x);function B(t,r){const e={baseType:"img",noteType:"cia",token:"dadcbbdb5206b626a29ca739686b3087"},{baseType:a,noteType:n,token:i}=Object.assign(e,r),o="https://t{s}.tianditu.gov.cn",s=["0","1","2","3","4","5","6","7"],l=new c.UrlTemplateImageryProvider({url:`${o}/DataServer?T=${a}_w&x={x}&y={y}&l={z}&tk=${i}`,subdomains:s,tilingScheme:new c.WebMercatorTilingScheme});let u=t.imageryLayers.addImageryProvider(l);u.gamma=1;const f=new c.UrlTemplateImageryProvider({url:`${o}/DataServer?T=ibo_w&x={x}&y={y}&l={z}&tk=${i}`,subdomains:s,tilingScheme:new c.WebMercatorTilingScheme});t.imageryLayers.addImageryProvider(f);const T=new c.UrlTemplateImageryProvider({url:`${o}/DataServer?T=${n}_w&x={x}&y={y}&l={z}&tk=${i}`,subdomains:s,tilingScheme:new c.WebMercatorTilingScheme});t.imageryLayers.addImageryProvider(T)}function E(t,r){B(t,r)}function P(t,r,e,a){(!a||!a.type)&&(a=Object.assign({},e,a));const n=a.type||"Point";let i;switch(n){case"Point":i=D(t,r,e,a);break;case"MultiLineString":case"LineString":i=R(t,r,e,a);break;case"Wms":e=e||a,i=H(t,r,e);break}return i}function D(t,r,e,a){const n=t.scene.primitives.add(new c.BillboardCollection);return n._layerName=r,e.forEach((i,o)=>{const s={scale:1,verticalOrigin:c.VerticalOrigin.BOTTOM,show:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY,scaleByDistance:new c.NearFarScalar(1,1,1e5,.2)},l={position:c.Cartesian3.fromDegrees(...S.getLonLat(i),1),image:a.image||a.getImage(i),id:i.id||`point_${o}`},u=n.add(m(m(m({},s),a),l));u._originStyle=p(m(m(m({},s),a),l),{color:c.Color.WHITE}),u.properties=i}),t.scene.requestRender(),n}function R(t,r,e,a){if(e.length<2)return;const n=j(e,a),i=new c.GroundPolylinePrimitive({geometryInstances:n,appearance:new c.PolylineColorAppearance({translucent:!0}),interleave:!0,allowPicking:!0,asynchronous:!1});return i._layerName=r,t.scene.groundPrimitives.add(i),i}function j(t,r){const e=[],a=t.map(o=>c.Cartesian3.fromDegrees(...S.getLonLat(o),0)),n=new c.GroundPolylineGeometry({positions:a,width:r.width||4,granularity:r.granularity||2e3}),i=new c.GeometryInstance({id:"pipeLine",geometry:n,attributes:{color:c.ColorGeometryInstanceAttribute.fromColor(c.Color.fromCssColorString(r.color))}});return e.push(i),e}function H(t,r,e){const a=new c.WebMapServiceImageryProvider({url:e.url,layers:e.layers,parameters:{service:"WMS",version:"1.1.1",request:"GetMap",transparent:!0,format:"image/png"}});a._layerName=r;const n=t.imageryLayers.addImageryProvider(a);return n.alpha=e.alpha||.5,n.brightness=e.brightness||1,n.contrast=e.contrast||1,n.gamma=e.gamma||1,n}function N(t,r){const e=t.scene.primitives.add(new c.BillboardCollection);return e._layerName=r,e}function h(t,r){const e=t.scene.primitives,a=e.length;for(let n=0;n<a;n++){const i=e.get(n);if(i._layerName===r)return i}return null}function $(t,r){const e=h(t,r);e?t.scene.primitives.remove(e):console.warn("Layer not found:",r)}function q(t,r,e){const a=h(t,r);a?a.show=e:console.warn("Primitive not found:",r)}const g=new Map,d={},y={},W=(t,r)=>{g.has(t)&&console.warn(`Map with target '${t}' already exists. Overwriting...`),g.set(t,r),d[t]&&(d[t].forEach(e=>e(r)),delete d[t]),y[t]&&(y[t].forEach(e=>e(r)),delete y[t])};function w(t){const r=g.get(t);return r?Promise.resolve(r):new Promise(e=>{y[t]=y[t]||[],y[t].push(e)})}const V=t=>{g.has(t)&&(g.delete(t),delete d[t])},M=(t,r)=>{const e=g.get(t);if(e){r(e);return}d[t]||(d[t]=[]),d[t].push(r)};function G(t,r={}){const e=new c.Viewer(t,{requestRenderMode:!0,maximumRenderTimeChange:1/0,selectionIndicator:!1,animation:!1,timeline:!1,geocoder:!1,homeButton:!1,baseLayerPicker:!1,sceneModePicker:!1,navigationHelpButton:!1,infoBox:!1,fullscreenButton:!1,shouldAnimate:!0,contextOptions:{webgl:{preserveDrawingBuffer:!0,alpha:!0}}});let a;return c.defined(r.terrainUrl)?c.CesiumTerrainProvider.fromUrl(r.terrainUrl,{requestVertexNormals:!0,requestWaterMask:!0}).then(n=>{a=n,e.terrainProvider=a}):a=new c.EllipsoidTerrainProvider,e.terrainProvider=a,e._cesiumWidget._creditContainer.style.display="none",e.scene.globe.baseColor=new c.Color(0,0,0,0),e.scene.screenSpaceCameraController.minimumZoomDistance=r.minZoom||1,e.scene.screenSpaceCameraController.maximumZoomDistance=r.maxZoom||1e7,e.resolutionScale=window.devicePixelRatio>2?2:window.devicePixelRatio,e}function U(t,r,e,a){P(t,r,e,p(m({},a),{type:"Point"}))}function A(t,r,e){return new Promise((a,n)=>{t.camera.flyTo({destination:c.Cartesian3.fromDegrees(...r),duration:e.duration||1.2,orientation:{heading:e.heading||0,pitch:e.pitch||-Math.PI/2,roll:e.roll||0},easingFunction:e.easing||c.EasingFunction.LINEAR_NONE,maximumHeight:e.maxHeight||1e6,complete:()=>{a(!0)},cancel:()=>{a(!1)}})})}function F(t,r=1){return t.camera.flyHome(r)}function z(t,r,e){return new Promise((a,n)=>{t.camera.flyToBoundingSphere(r,{duration:e.duration||1e3,offset:new c.HeadingPitchRange(e.heading||0,e.pitch||-Math.PI/4,e.roll||0),easingFunction:e.easing,maximumHeight:e.maxHeight||1e6,complete:()=>{a(!0)},cancel:()=>{a(!1)}})})}function Z(t,r,e){t.camera.setView({destination:c.Cartesian3.fromDegrees(...r),orientation:{heading:e.heading||0,pitch:e.pitch||-Math.PI/2,roll:e.roll||0}})}function K(t,r){t.destroy(),V(r)}function Y(t,r=500){let e=0;return function(...a){const n=Date.now();n-e>=r&&(e=n,t.apply(this,a))}}function J(t,r){const e=new Set,a=new c.ScreenSpaceEventHandler(t.scene.canvas);let n=null;a.setInputAction(o=>{const s=t.scene.pick(o.position);if(n&&(Object.assign(n,n._originStyle),n.isSelected=!1,n=null,t.scene.requestRender()),c.defined(s)&&s.primitive instanceof c.Billboard){const l=s.primitive;l.isSelected=!0;const u={primitive:l,properties:l.properties,event:o,pick:s};n=l,i(u),Object.assign(l,r.style||r.getStyle(l)),t.scene.requestRender()}},c.ScreenSpaceEventType.LEFT_CLICK);const i=o=>e.forEach(s=>s(o));return{onSelect:o=>(e.add(o),()=>e.delete(o)),clear(){e.clear()},destroy(){e.clear()}}}function Q(t,r){const e=new Set,a=s=>e.forEach(l=>l(s)),n=new c.ScreenSpaceEventHandler(t.scene.canvas);let i=null;const o=Y(a,r.delay||500);return n.setInputAction(s=>{const l=t.scene.pick(s.endPosition);if(i&&!i.isSelected&&(Object.assign(i,i._originStyle),i=null,t.scene.requestRender()),c.defined(l)&&l.primitive instanceof c.Billboard){const u=l.primitive,f={primitive:u,properties:u.properties,event:s,pick:l};o(f),i=u,u.isSelected||(Object.assign(u,r.style||r.getStyle(u)),t.scene.requestRender())}},c.ScreenSpaceEventType.MOUSE_MOVE),{onHover:s=>(e.add(s),()=>e.delete(s)),clear:()=>{e.clear()},destroy:()=>{e.clear()}}}function X(t,r){const e=G(t,r);E(e,r);const a={targetId:t,instance:e,addMarker:(n,i,o)=>U(e,n,i,o),createLayer:(n,i,o)=>P(e,n,i,o),removeLayer:n=>$(e,n),visibleLayer:(n,i)=>q(e,n,i),getLayerByName:n=>h(e,n),createBlankLayer:n=>N(e,n),createSelect:n=>J(e,n),createHover:n=>Q(e,n),flyTo:(n,i)=>A(e,n,i),flyHome:n=>F(e,n),flyToBoundingSphere:(n,i)=>z(e,n,i),setView:(n,i)=>Z(e,n,i),getMapContext:n=>w(n),onMapReady:(n,i)=>M(n,i),destroyMap:n=>K(e,n)};return W(t,a),a}function ee(t,r){M(t,r)}function te(t){return w(t)}exports.getMapContext=te;exports.onMapReady=ee;exports.useMap=X;
|
package/dist/3d/index.mjs
CHANGED
|
@@ -11,7 +11,7 @@ var P = (r, t, e) => t in r ? C(r, t, { enumerable: !0, configurable: !0, writab
|
|
|
11
11
|
return r;
|
|
12
12
|
}, p = (r, t) => I(r, L(t));
|
|
13
13
|
import * as c from "cesium";
|
|
14
|
-
import { getLonLat as
|
|
14
|
+
import { getLonLat as S } from "../index.mjs";
|
|
15
15
|
function O(r, t) {
|
|
16
16
|
const e = {
|
|
17
17
|
baseType: "img",
|
|
@@ -41,7 +41,7 @@ function O(r, t) {
|
|
|
41
41
|
function B(r, t) {
|
|
42
42
|
O(r, t);
|
|
43
43
|
}
|
|
44
|
-
function
|
|
44
|
+
function b(r, t, e, a) {
|
|
45
45
|
(!a || !a.type) && (a = Object.assign({}, e, a));
|
|
46
46
|
const n = a.type || "Point";
|
|
47
47
|
let i;
|
|
@@ -73,7 +73,7 @@ function _(r, t, e, a) {
|
|
|
73
73
|
scaleByDistance: new c.NearFarScalar(1, 1, 1e5, 0.2)
|
|
74
74
|
// 根据相机距离缩放
|
|
75
75
|
}, l = {
|
|
76
|
-
position: c.Cartesian3.fromDegrees(...
|
|
76
|
+
position: c.Cartesian3.fromDegrees(...S(i), 1),
|
|
77
77
|
image: a.image || a.getImage(i),
|
|
78
78
|
id: i.id || `point_${o}`
|
|
79
79
|
}, u = n.add(m(m(m({}, s), a), l));
|
|
@@ -94,7 +94,7 @@ function E(r, t, e, a) {
|
|
|
94
94
|
return i._layerName = t, r.scene.groundPrimitives.add(i), i;
|
|
95
95
|
}
|
|
96
96
|
function D(r, t) {
|
|
97
|
-
const e = [], a = r.map((o) => c.Cartesian3.fromDegrees(...
|
|
97
|
+
const e = [], a = r.map((o) => c.Cartesian3.fromDegrees(...S(o), 0)), n = new c.GroundPolylineGeometry({
|
|
98
98
|
positions: a,
|
|
99
99
|
width: t.width || 4,
|
|
100
100
|
granularity: t.granularity || 2e3
|
|
@@ -121,7 +121,7 @@ function H(r, t, e) {
|
|
|
121
121
|
});
|
|
122
122
|
a._layerName = t;
|
|
123
123
|
const n = r.imageryLayers.addImageryProvider(a);
|
|
124
|
-
return n.alpha = e.alpha || 0.5, n.brightness = e.brightness || 1, n.contrast = e.contrast || 1, n.gamma = e.gamma ||
|
|
124
|
+
return n.alpha = e.alpha || 0.5, n.brightness = e.brightness || 1, n.contrast = e.contrast || 1, n.gamma = e.gamma || 1, n;
|
|
125
125
|
}
|
|
126
126
|
function R(r, t) {
|
|
127
127
|
const e = r.scene.primitives.add(new c.BillboardCollection());
|
|
@@ -147,7 +147,7 @@ function N(r, t, e) {
|
|
|
147
147
|
const g = /* @__PURE__ */ new Map(), d = {}, y = {}, j = (r, t) => {
|
|
148
148
|
g.has(r) && console.warn(`Map with target '${r}' already exists. Overwriting...`), g.set(r, t), d[r] && (d[r].forEach((e) => e(t)), delete d[r]), y[r] && (y[r].forEach((e) => e(t)), delete y[r]);
|
|
149
149
|
};
|
|
150
|
-
function
|
|
150
|
+
function w(r) {
|
|
151
151
|
const t = g.get(r);
|
|
152
152
|
return t ? Promise.resolve(t) : new Promise((e) => {
|
|
153
153
|
y[r] = y[r] || [], y[r].push(e);
|
|
@@ -207,7 +207,7 @@ function q(r, t = {}) {
|
|
|
207
207
|
}) : a = new c.EllipsoidTerrainProvider(), e.terrainProvider = a, e._cesiumWidget._creditContainer.style.display = "none", e.scene.globe.baseColor = new c.Color(0, 0, 0, 0), e.scene.screenSpaceCameraController.minimumZoomDistance = t.minZoom || 1, e.scene.screenSpaceCameraController.maximumZoomDistance = t.maxZoom || 1e7, e.resolutionScale = window.devicePixelRatio > 2 ? 2 : window.devicePixelRatio, e;
|
|
208
208
|
}
|
|
209
209
|
function V(r, t, e, a) {
|
|
210
|
-
|
|
210
|
+
b(r, t, e, p(m({}, a), { type: "Point" }));
|
|
211
211
|
}
|
|
212
212
|
function G(r, t, e) {
|
|
213
213
|
return new Promise((a, n) => {
|
|
@@ -280,8 +280,10 @@ function K(r, t) {
|
|
|
280
280
|
let n = null;
|
|
281
281
|
a.setInputAction((o) => {
|
|
282
282
|
const s = r.scene.pick(o.position);
|
|
283
|
-
if (n && (Object.assign(n, n._originStyle), n = null, r.scene.requestRender()), c.defined(s) && s.primitive instanceof c.Billboard) {
|
|
284
|
-
const l = s.primitive
|
|
283
|
+
if (n && (Object.assign(n, n._originStyle), n.isSelected = !1, n = null, r.scene.requestRender()), c.defined(s) && s.primitive instanceof c.Billboard) {
|
|
284
|
+
const l = s.primitive;
|
|
285
|
+
l.isSelected = !0;
|
|
286
|
+
const u = {
|
|
285
287
|
primitive: l,
|
|
286
288
|
properties: l.properties,
|
|
287
289
|
event: o,
|
|
@@ -307,14 +309,14 @@ function Y(r, t) {
|
|
|
307
309
|
const o = z(a, t.delay || 500);
|
|
308
310
|
return n.setInputAction((s) => {
|
|
309
311
|
const l = r.scene.pick(s.endPosition);
|
|
310
|
-
if (i && (Object.assign(i, i._originStyle), i = null, r.scene.requestRender()), c.defined(l) && l.primitive instanceof c.Billboard) {
|
|
312
|
+
if (i && !i.isSelected && (Object.assign(i, i._originStyle), i = null, r.scene.requestRender()), c.defined(l) && l.primitive instanceof c.Billboard) {
|
|
311
313
|
const u = l.primitive, f = {
|
|
312
314
|
primitive: u,
|
|
313
315
|
properties: u.properties,
|
|
314
316
|
event: s,
|
|
315
317
|
pick: l
|
|
316
318
|
};
|
|
317
|
-
o(f), i = u, Object.assign(u, t.style || t.getStyle(u)), r.scene.requestRender();
|
|
319
|
+
o(f), i = u, u.isSelected || (Object.assign(u, t.style || t.getStyle(u)), r.scene.requestRender());
|
|
318
320
|
}
|
|
319
321
|
}, c.ScreenSpaceEventType.MOUSE_MOVE), {
|
|
320
322
|
onHover: (s) => (e.add(s), () => e.delete(s)),
|
|
@@ -333,7 +335,7 @@ function X(r, t) {
|
|
|
333
335
|
targetId: r,
|
|
334
336
|
instance: e,
|
|
335
337
|
addMarker: (n, i, o) => V(e, n, i, o),
|
|
336
|
-
createLayer: (n, i, o) =>
|
|
338
|
+
createLayer: (n, i, o) => b(e, n, i, o),
|
|
337
339
|
removeLayer: (n) => $(e, n),
|
|
338
340
|
visibleLayer: (n, i) => N(e, n, i),
|
|
339
341
|
getLayerByName: (n) => h(e, n),
|
|
@@ -344,7 +346,7 @@ function X(r, t) {
|
|
|
344
346
|
flyHome: (n) => U(e, n),
|
|
345
347
|
flyToBoundingSphere: (n, i) => A(e, n, i),
|
|
346
348
|
setView: (n, i) => F(e, n, i),
|
|
347
|
-
getMapContext: (n) =>
|
|
349
|
+
getMapContext: (n) => w(n),
|
|
348
350
|
onMapReady: (n, i) => T(n, i),
|
|
349
351
|
destroyMap: (n) => Z(e, n)
|
|
350
352
|
};
|
|
@@ -354,7 +356,7 @@ function ee(r, t) {
|
|
|
354
356
|
T(r, t);
|
|
355
357
|
}
|
|
356
358
|
function re(r) {
|
|
357
|
-
return
|
|
359
|
+
return w(r);
|
|
358
360
|
}
|
|
359
361
|
export {
|
|
360
362
|
re as getMapContext,
|
package/dist/3d/layer.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export declare function createBaseLayer(viewer: Cesium.Viewer, options: any): vo
|
|
|
14
14
|
* @param options 配置项
|
|
15
15
|
* @returns 图层
|
|
16
16
|
*/
|
|
17
|
-
export declare function createLayer<K extends keyof optionsMap>(viewer: Cesium.Viewer, layerName: string, data: any, options
|
|
17
|
+
export declare function createLayer<K extends keyof optionsMap>(viewer: Cesium.Viewer, layerName: string, data: any, options?: optionsMap[K] & {
|
|
18
18
|
type?: K;
|
|
19
19
|
}): any;
|
|
20
20
|
/**
|
package/dist/3d/types.d.ts
CHANGED
|
@@ -48,7 +48,7 @@ export type Coordinates = [number, number, number];
|
|
|
48
48
|
export interface MapContext {
|
|
49
49
|
targetId: string;
|
|
50
50
|
instance: Cesium.Viewer;
|
|
51
|
-
addMarker: (layerName: string, data: any, options
|
|
51
|
+
addMarker: (layerName: string, data: any, options: optionsMap['Point']) => void;
|
|
52
52
|
createLayer: <K extends keyof optionsMap>(layerName: string, data: any, options?: optionsMap[K] & {
|
|
53
53
|
type?: K;
|
|
54
54
|
}) => Cesium.Primitive;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jgis",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "快速创建二维、三维工具库",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"bugs": {
|
|
49
49
|
"url": "https://github.com/Guidozijef/jgis/issues"
|
|
50
50
|
},
|
|
51
|
-
"homepage": "https://github.
|
|
51
|
+
"homepage": "https://guidozijef.github.io/jgis-docs/",
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@eslint/js": "^9.39.2",
|
|
54
54
|
"@turf/turf": "^7.3.1",
|