gisviewer-vue3-arcgis 1.0.241 → 1.0.242

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.
@@ -90,5 +90,5 @@ export default class CommonUtils {
90
90
  * @returns
91
91
  */
92
92
  static getCenterPointInLine(line: number[][]): number[];
93
- static viewGoto(view: __esri.MapView | __esri.SceneView, target: Graphic[]): Promise<void>;
93
+ static viewGoto(view: __esri.MapView | __esri.SceneView, target: Graphic[], zoom?: boolean): Promise<void>;
94
94
  }
@@ -1,13 +1,13 @@
1
- import { Point as L, Polyline as g } from "@arcgis/core/geometry";
2
- import * as f from "@arcgis/core/geometry/geometryEngineAsync";
3
- import * as l from "@arcgis/core/geometry/support/webMercatorUtils";
4
- import p from "@turf/bearing";
5
- import u from "@turf/destination";
6
- import * as c from "@turf/helpers";
1
+ import { Point as L, Polyline as l } from "@arcgis/core/geometry";
2
+ import * as u from "@arcgis/core/geometry/geometryEngineAsync";
3
+ import * as y from "@arcgis/core/geometry/support/webMercatorUtils";
4
+ import h from "@turf/bearing";
5
+ import p from "@turf/destination";
6
+ import * as f from "@turf/helpers";
7
7
  import d from "@turf/length";
8
8
  import O from "@turf/line-slice-along";
9
9
  import w from "pako";
10
- import h from "proj4";
10
+ import P from "proj4";
11
11
  class s {
12
12
  /**
13
13
  * 得到某个点在一定方向、距离之外的另一个点
@@ -17,7 +17,7 @@ class s {
17
17
  * @returns
18
18
  */
19
19
  static destinationWithPoint(t, e, n) {
20
- const r = c.point([t.x, t.y]), i = u(r, n, e, {
20
+ const r = f.point([t.x, t.y]), i = p(r, n, e, {
21
21
  units: "meters"
22
22
  });
23
23
  return new L({
@@ -31,8 +31,8 @@ class s {
31
31
  * @returns
32
32
  */
33
33
  static angleOfLine(t) {
34
- const e = t.paths[0], n = c.point(e[0]), r = c.point(e[e.length - 1]);
35
- return p(n, r);
34
+ const e = t.paths[0], n = f.point(e[0]), r = f.point(e[e.length - 1]);
35
+ return h(n, r);
36
36
  }
37
37
  /**
38
38
  * 在头尾两个方向上延长折线
@@ -40,14 +40,14 @@ class s {
40
40
  * @param distance
41
41
  */
42
42
  static extendLineInTowDir(t, e) {
43
- const n = t.paths[0], r = c.point(n[0]), i = c.point(n[1]), o = p(i, r), a = u(r, e, o, {
43
+ const n = t.paths[0], r = f.point(n[0]), i = f.point(n[1]), a = h(i, r), c = p(r, e, a, {
44
44
  units: "meters"
45
- }), y = o > 0 ? o - 180 : o + 180, P = u(i, e, y, {
45
+ }), g = a > 0 ? a - 180 : a + 180, o = p(i, e, g, {
46
46
  units: "meters"
47
47
  });
48
- return new g({
48
+ return new l({
49
49
  paths: [
50
- [a.geometry.coordinates, P.geometry.coordinates]
50
+ [c.geometry.coordinates, o.geometry.coordinates]
51
51
  ]
52
52
  });
53
53
  }
@@ -58,7 +58,7 @@ class s {
58
58
  * @returns
59
59
  */
60
60
  static async getIntersectPointOfTwoLines(t, e) {
61
- const n = await f.intersectLinesToPoints(
61
+ const n = await u.intersectLinesToPoints(
62
62
  t,
63
63
  e
64
64
  );
@@ -84,9 +84,9 @@ class s {
84
84
  e,
85
85
  i
86
86
  ), await s.pointDistance(r) > 2.5) {
87
- const o = new g({ paths: [r] });
87
+ const a = new l({ paths: [r] });
88
88
  return (await s.getOffsetLine(
89
- o,
89
+ a,
90
90
  -i
91
91
  )).paths[0];
92
92
  }
@@ -102,8 +102,8 @@ class s {
102
102
  static async pointDistance(t) {
103
103
  if (t.length < 2)
104
104
  return 0;
105
- const e = new g({ paths: [t] });
106
- return await f.geodesicLength(e, "meters");
105
+ const e = new l({ paths: [t] });
106
+ return await u.geodesicLength(e, "meters");
107
107
  }
108
108
  /**
109
109
  * 线按一定距离平移之后,与面相交的两个端点
@@ -114,10 +114,10 @@ class s {
114
114
  */
115
115
  static async getIntersectPointOfLineAndPolygon(t, e, n = 0) {
116
116
  n !== 0 && (t = await s.getOffsetLine(t, n));
117
- const r = await f.intersect(t, e);
118
- if (r instanceof g) {
119
- const i = r.paths[0], o = i[0], a = i[i.length - 1];
120
- return [o, a];
117
+ const r = await u.intersect(t, e);
118
+ if (r instanceof l) {
119
+ const i = r.paths[0], a = i[0], c = i[i.length - 1];
120
+ return [a, c];
121
121
  }
122
122
  return [];
123
123
  }
@@ -128,12 +128,12 @@ class s {
128
128
  * @returns 平移后的polyline
129
129
  */
130
130
  static async getOffsetLine(t, e) {
131
- const n = l.geographicToWebMercator(t), r = await f.offset(
131
+ const n = y.geographicToWebMercator(t), r = await u.offset(
132
132
  n,
133
133
  e,
134
134
  "meters"
135
135
  );
136
- return l.webMercatorToGeographic(
136
+ return y.webMercatorToGeographic(
137
137
  r,
138
138
  !1
139
139
  );
@@ -147,8 +147,8 @@ class s {
147
147
  try {
148
148
  const e = [], n = t.split("");
149
149
  for (let i = 0; i < n.length; i++) {
150
- const o = n[i];
151
- e.push(o.charCodeAt(0));
150
+ const a = n[i];
151
+ e.push(a.charCodeAt(0));
152
152
  }
153
153
  const r = new Uint8Array(e);
154
154
  return w.inflate(r, { to: "string" });
@@ -185,7 +185,7 @@ class s {
185
185
  static transformLineProjection(t) {
186
186
  try {
187
187
  return t.map(
188
- (e) => h(s.geoReference).inverse([
188
+ (e) => P(s.geoReference).inverse([
189
189
  e[0] - s.xOffset,
190
190
  e[1] - s.yOffset
191
191
  ])
@@ -199,7 +199,7 @@ class s {
199
199
  }
200
200
  static transformPointProjection(t) {
201
201
  try {
202
- return h(s.geoReference).inverse([
202
+ return P(s.geoReference).inverse([
203
203
  t[0] - s.xOffset,
204
204
  t[1] - s.yOffset
205
205
  ]);
@@ -214,8 +214,8 @@ class s {
214
214
  return Math.abs(t[0] - e[0]) < Number.EPSILON && Math.abs(t[1] - e[1]) < Number.EPSILON;
215
215
  }
216
216
  static getExtensionLine(t, e, n) {
217
- const r = c.point(t), i = c.point(e), o = p(r, i);
218
- return u(i, n, o, { units: "meters" }).geometry.coordinates;
217
+ const r = f.point(t), i = f.point(e), a = h(r, i);
218
+ return p(i, n, a, { units: "meters" }).geometry.coordinates;
219
219
  }
220
220
  static isCoordinateValid(t) {
221
221
  return typeof t.latitude == "string" && (t.latitude = Number(t.latitude)), typeof t.longitude == "string" && (t.longitude = Number(t.longitude)), t.latitude !== null && t.longitude !== null && !isNaN(t.latitude) && !isNaN(t.longitude) && t.latitude !== 0 && t.longitude !== 0;
@@ -226,22 +226,35 @@ class s {
226
226
  * @returns
227
227
  */
228
228
  static getCenterPointInLine(t) {
229
- const e = c.lineString(t), n = d(e, { units: "meters" }) / 2, r = O(e, 0, n, {
229
+ const e = f.lineString(t), n = d(e, { units: "meters" }) / 2, r = O(e, 0, n, {
230
230
  units: "meters"
231
231
  });
232
232
  return r.geometry.coordinates[r.geometry.coordinates.length - 1];
233
233
  }
234
- static async viewGoto(t, e) {
235
- var i;
236
- if (localStorage.getItem("gpu") !== "Unknown")
234
+ static async viewGoto(t, e, n = !0) {
235
+ var a, c;
236
+ const i = localStorage.getItem("gpu") !== "Unknown";
237
+ if (!n) {
238
+ if (e.length > 0) {
239
+ const g = e.map((o) => o.geometry).filter((o) => o);
240
+ if (g.length > 0) {
241
+ const o = (a = await u.union(g)) == null ? void 0 : a.extent;
242
+ o && (i ? await t.goTo(o.center, {
243
+ duration: 1e3
244
+ }) : t.center = o.center);
245
+ }
246
+ }
247
+ return;
248
+ }
249
+ if (i)
237
250
  await t.goTo(e, {
238
251
  duration: 1e3
239
252
  });
240
253
  else if (e.length > 0) {
241
- const o = e.map((a) => a.geometry).filter((a) => a);
242
- if (o.length > 0) {
243
- const a = (i = await f.union(o)) == null ? void 0 : i.extent;
244
- a && (t.extent = a);
254
+ const g = e.map((o) => o.geometry).filter((o) => o);
255
+ if (g.length > 0) {
256
+ const o = (c = await u.union(g)) == null ? void 0 : c.extent;
257
+ o && (t.extent = o);
245
258
  }
246
259
  }
247
260
  }
@@ -1,4 +1,4 @@
1
- import f from "@arcgis/core/Graphic";
1
+ import L from "@arcgis/core/Graphic";
2
2
  import m from "@arcgis/core/layers/FeatureLayer";
3
3
  import v from "../common-utils.mjs";
4
4
  import { subDistrictPointLayerOptions as I, subDistrictLineLayerOptions as z } from "./layer-symbol.mjs";
@@ -32,7 +32,7 @@ class C {
32
32
  }
33
33
  }
34
34
  }), i.signals.forEach((a) => {
35
- const n = new f({
35
+ const n = new L({
36
36
  geometry: {
37
37
  type: "point",
38
38
  longitude: a.longitude,
@@ -116,14 +116,14 @@ class C {
116
116
  color: c,
117
117
  id: d,
118
118
  districtName: p,
119
- subDistrictName: L,
119
+ subDistrictName: f,
120
120
  signalCount: b
121
121
  } = u.attributes;
122
122
  n.has(o) || n.set(o, {
123
123
  color: c,
124
124
  signalIds: [],
125
125
  districtName: p,
126
- subDistrictName: L,
126
+ subDistrictName: f,
127
127
  signalCount: b
128
128
  }), (y = n.get(o)) == null || y.signalIds.push(d);
129
129
  });
@@ -140,11 +140,11 @@ class C {
140
140
  style: "solid"
141
141
  }
142
142
  });
143
- const { districtName: d, subDistrictName: p, signalIds: L, signalCount: b } = u[1];
143
+ const { districtName: d, subDistrictName: p, signalIds: f, signalCount: b } = u[1];
144
144
  this.roadConnections.filter(
145
145
  (l) => l.subDistrictId === c
146
146
  ).forEach((l) => {
147
- const w = new f({
147
+ const w = new L({
148
148
  geometry: {
149
149
  type: "polyline",
150
150
  paths: l.coordinates
@@ -228,7 +228,7 @@ class C {
228
228
  const s = this.subDistrictPointLayer.createQuery();
229
229
  s.where = `subDistrictId = '${e}'`, s.returnGeometry = !0;
230
230
  const t = await this.subDistrictPointLayer.queryFeatures(s);
231
- return t.features.length > 0 ? (await v.viewGoto(this.view, t.features), { status: 0, message: "ok" }) : { status: 1, message: "未找到子区" };
231
+ return t.features.length > 0 ? (await v.viewGoto(this.view, t.features, !1), { status: 0, message: "ok" }) : { status: 1, message: "未找到子区" };
232
232
  }
233
233
  /**
234
234
  * 高亮子区, 其他子区隐藏
@@ -240,7 +240,7 @@ class C {
240
240
  const t = this.subDistrictPointLayer.definitionExpression;
241
241
  this.subDistrictPointLayer.definitionExpression = `subDistrictId = '${e}'`;
242
242
  const r = await this.subDistrictPointLayer.queryFeatures(), i = r.features.length;
243
- return i > 0 ? (this.subDistrictLineLayer.definitionExpression = `subDistrictId = '${e}'`, s = r.features[0].attributes.districtId, await v.viewGoto(this.view, r.features)) : this.subDistrictPointLayer.definitionExpression = t, { count: i, parentId: s };
243
+ return i > 0 ? (this.subDistrictLineLayer.definitionExpression = `subDistrictId = '${e}'`, s = r.features[0].attributes.districtId, await v.viewGoto(this.view, r.features, !1)) : this.subDistrictPointLayer.definitionExpression = t, { count: i, parentId: s };
244
244
  }
245
245
  /**
246
246
  * 按照区控、子区id显示子区
@@ -90,5 +90,5 @@ export default class CommonUtils {
90
90
  * @returns
91
91
  */
92
92
  static getCenterPointInLine(line: number[][]): number[];
93
- static viewGoto(view: __esri.MapView | __esri.SceneView, target: Graphic[]): Promise<void>;
93
+ static viewGoto(view: __esri.MapView | __esri.SceneView, target: Graphic[], zoom?: boolean): Promise<void>;
94
94
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("@arcgis/core/geometry"),L=require("@arcgis/core/geometry/geometryEngineAsync"),w=require("@arcgis/core/geometry/support/webMercatorUtils"),p=require("@turf/bearing"),l=require("@turf/destination"),b=require("@turf/helpers"),S=require("@turf/length"),A=require("@turf/line-slice-along"),x=require("pako"),h=require("proj4");function y(u){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(u){for(const t in u)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(u,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>u[t]})}}return e.default=u,Object.freeze(e)}const g=y(L),P=y(w),c=y(b);class i{static destinationWithPoint(e,t,n){const r=c.point([e.x,e.y]),s=l(r,n,t,{units:"meters"});return new f.Point({x:s.geometry.coordinates[0],y:s.geometry.coordinates[1]})}static angleOfLine(e){const t=e.paths[0],n=c.point(t[0]),r=c.point(t[t.length-1]);return p(n,r)}static extendLineInTowDir(e,t){const n=e.paths[0],r=c.point(n[0]),s=c.point(n[1]),o=p(s,r),a=l(r,t,o,{units:"meters"}),d=o>0?o-180:o+180,O=l(s,t,d,{units:"meters"});return new f.Polyline({paths:[[a.geometry.coordinates,O.geometry.coordinates]]})}static async getIntersectPointOfTwoLines(e,t){const n=await g.intersectLinesToPoints(e,t);if(n.length)return n[0]}static async getIntersectPointsOfStopLineAndLane(e,t,n){let r=await i.getIntersectPointOfLineAndPolygon(e,t);if(await i.pointDistance(r)<3&&n){for(const s of n)if(r=await i.getIntersectPointOfLineAndPolygon(e,t,s),await i.pointDistance(r)>2.5){const o=new f.Polyline({paths:[r]});return(await i.getOffsetLine(o,-s)).paths[0]}}else return r;return[]}static async pointDistance(e){if(e.length<2)return 0;const t=new f.Polyline({paths:[e]});return await g.geodesicLength(t,"meters")}static async getIntersectPointOfLineAndPolygon(e,t,n=0){n!==0&&(e=await i.getOffsetLine(e,n));const r=await g.intersect(e,t);if(r instanceof f.Polyline){const s=r.paths[0],o=s[0],a=s[s.length-1];return[o,a]}return[]}static async getOffsetLine(e,t){const n=P.geographicToWebMercator(e),r=await g.offset(n,t,"meters");return P.webMercatorToGeographic(r,!1)}static unzip(e){try{const t=[],n=e.split("");for(let s=0;s<n.length;s++){const o=n[s];t.push(o.charCodeAt(0))}const r=new Uint8Array(t);return x.inflate(r,{to:"string"})}catch{console.log(`非压缩内容: ${e}`)}}static getStdVecEntries(e,t=!1){const n=new Array(e.size());for(let r=0;r<e.size();r++)n[r]=e.get(r);return t&&e.delete(),n}static getStdMapEntries(e){const t=[];for(const n of i.getStdMapKeys(e))t.push([n,e.get(n)]);return t}static getStdMapKeys(e,t=!1){const n=[],r=e.keys();for(let s=0;s<r.size();s++)n.push(r.get(s));return r.delete(),t&&e.delete(),n}static setGeoData(e,t,n){i.geoReference=e,i.xOffset=t,i.yOffset=n}static transformLineProjection(e){try{return e.map(t=>h(i.geoReference).inverse([t[0]-i.xOffset,t[1]-i.yOffset]))}catch{return console.error("OpenDrive坐标转换为WGS84坐标失败",i.geoReference),e}}static transformPointProjection(e){try{return h(i.geoReference).inverse([e[0]-i.xOffset,e[1]-i.yOffset])}catch{return console.error("OpenDrive坐标转换为WGS84坐标失败",i.geoReference),e}}static pointsEqual(e,t){return Math.abs(e[0]-t[0])<Number.EPSILON&&Math.abs(e[1]-t[1])<Number.EPSILON}static getExtensionLine(e,t,n){const r=c.point(e),s=c.point(t),o=p(r,s);return l(s,n,o,{units:"meters"}).geometry.coordinates}static isCoordinateValid(e){return typeof e.latitude=="string"&&(e.latitude=Number(e.latitude)),typeof e.longitude=="string"&&(e.longitude=Number(e.longitude)),e.latitude!==null&&e.longitude!==null&&!isNaN(e.latitude)&&!isNaN(e.longitude)&&e.latitude!==0&&e.longitude!==0}static getCenterPointInLine(e){const t=c.lineString(e),n=S(t,{units:"meters"})/2,r=A(t,0,n,{units:"meters"});return r.geometry.coordinates[r.geometry.coordinates.length-1]}static async viewGoto(e,t){var s;if(localStorage.getItem("gpu")!=="Unknown")await e.goTo(t,{duration:1e3});else if(t.length>0){const o=t.map(a=>a.geometry).filter(a=>a);if(o.length>0){const a=(s=await g.union(o))==null?void 0:s.extent;a&&(e.extent=a)}}}}exports.default=i;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("@arcgis/core/geometry"),L=require("@arcgis/core/geometry/geometryEngineAsync"),w=require("@arcgis/core/geometry/support/webMercatorUtils"),h=require("@turf/bearing"),y=require("@turf/destination"),b=require("@turf/helpers"),S=require("@turf/length"),x=require("@turf/line-slice-along"),A=require("pako"),d=require("proj4");function P(l){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const t in l)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(l,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>l[t]})}}return e.default=l,Object.freeze(e)}const g=P(L),O=P(w),f=P(b);class s{static destinationWithPoint(e,t,n){const r=f.point([e.x,e.y]),i=y(r,n,t,{units:"meters"});return new p.Point({x:i.geometry.coordinates[0],y:i.geometry.coordinates[1]})}static angleOfLine(e){const t=e.paths[0],n=f.point(t[0]),r=f.point(t[t.length-1]);return h(n,r)}static extendLineInTowDir(e,t){const n=e.paths[0],r=f.point(n[0]),i=f.point(n[1]),c=h(i,r),a=y(r,t,c,{units:"meters"}),u=c>0?c-180:c+180,o=y(i,t,u,{units:"meters"});return new p.Polyline({paths:[[a.geometry.coordinates,o.geometry.coordinates]]})}static async getIntersectPointOfTwoLines(e,t){const n=await g.intersectLinesToPoints(e,t);if(n.length)return n[0]}static async getIntersectPointsOfStopLineAndLane(e,t,n){let r=await s.getIntersectPointOfLineAndPolygon(e,t);if(await s.pointDistance(r)<3&&n){for(const i of n)if(r=await s.getIntersectPointOfLineAndPolygon(e,t,i),await s.pointDistance(r)>2.5){const c=new p.Polyline({paths:[r]});return(await s.getOffsetLine(c,-i)).paths[0]}}else return r;return[]}static async pointDistance(e){if(e.length<2)return 0;const t=new p.Polyline({paths:[e]});return await g.geodesicLength(t,"meters")}static async getIntersectPointOfLineAndPolygon(e,t,n=0){n!==0&&(e=await s.getOffsetLine(e,n));const r=await g.intersect(e,t);if(r instanceof p.Polyline){const i=r.paths[0],c=i[0],a=i[i.length-1];return[c,a]}return[]}static async getOffsetLine(e,t){const n=O.geographicToWebMercator(e),r=await g.offset(n,t,"meters");return O.webMercatorToGeographic(r,!1)}static unzip(e){try{const t=[],n=e.split("");for(let i=0;i<n.length;i++){const c=n[i];t.push(c.charCodeAt(0))}const r=new Uint8Array(t);return A.inflate(r,{to:"string"})}catch{console.log(`非压缩内容: ${e}`)}}static getStdVecEntries(e,t=!1){const n=new Array(e.size());for(let r=0;r<e.size();r++)n[r]=e.get(r);return t&&e.delete(),n}static getStdMapEntries(e){const t=[];for(const n of s.getStdMapKeys(e))t.push([n,e.get(n)]);return t}static getStdMapKeys(e,t=!1){const n=[],r=e.keys();for(let i=0;i<r.size();i++)n.push(r.get(i));return r.delete(),t&&e.delete(),n}static setGeoData(e,t,n){s.geoReference=e,s.xOffset=t,s.yOffset=n}static transformLineProjection(e){try{return e.map(t=>d(s.geoReference).inverse([t[0]-s.xOffset,t[1]-s.yOffset]))}catch{return console.error("OpenDrive坐标转换为WGS84坐标失败",s.geoReference),e}}static transformPointProjection(e){try{return d(s.geoReference).inverse([e[0]-s.xOffset,e[1]-s.yOffset])}catch{return console.error("OpenDrive坐标转换为WGS84坐标失败",s.geoReference),e}}static pointsEqual(e,t){return Math.abs(e[0]-t[0])<Number.EPSILON&&Math.abs(e[1]-t[1])<Number.EPSILON}static getExtensionLine(e,t,n){const r=f.point(e),i=f.point(t),c=h(r,i);return y(i,n,c,{units:"meters"}).geometry.coordinates}static isCoordinateValid(e){return typeof e.latitude=="string"&&(e.latitude=Number(e.latitude)),typeof e.longitude=="string"&&(e.longitude=Number(e.longitude)),e.latitude!==null&&e.longitude!==null&&!isNaN(e.latitude)&&!isNaN(e.longitude)&&e.latitude!==0&&e.longitude!==0}static getCenterPointInLine(e){const t=f.lineString(e),n=S(t,{units:"meters"})/2,r=x(t,0,n,{units:"meters"});return r.geometry.coordinates[r.geometry.coordinates.length-1]}static async viewGoto(e,t,n=!0){var c,a;const i=localStorage.getItem("gpu")!=="Unknown";if(!n){if(t.length>0){const u=t.map(o=>o.geometry).filter(o=>o);if(u.length>0){const o=(c=await g.union(u))==null?void 0:c.extent;o&&(i?await e.goTo(o.center,{duration:1e3}):e.center=o.center)}}return}if(i)await e.goTo(t,{duration:1e3});else if(t.length>0){const u=t.map(o=>o.geometry).filter(o=>o);if(u.length>0){const o=(a=await g.union(u))==null?void 0:a.extent;o&&(e.extent=o)}}}}exports.default=s;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("@arcgis/core/Graphic"),v=require("@arcgis/core/layers/FeatureLayer"),m=require("../common-utils.js"),w=require("./layer-symbol.js");class g{constructor(i){this.roadConnections=[],this.view=i,this.subDistrictPointLayer=new v(w.subDistrictPointLayerOptions),this.subDistrictPointLayer.spatialReference=i.spatialReference,this.subDistrictPointLayer.popupEnabled=!0,this.subDistrictLineLayer=new v(w.subDistrictLineLayerOptions),this.subDistrictLineLayer.spatialReference=i.spatialReference,this.subDistrictLineLayer.popupEnabled=!0,this.view.map.addMany([this.subDistrictLineLayer,this.subDistrictPointLayer])}async showSubDistricts(i){await this.clearSubDistricts(),this.clickHandler=this.view.on("click",this.viewHitTest.bind(this));let s=0;const t=[],r=[];i.forEach(e=>{e.roadConnections.length>0&&this.roadConnections.push(...e.roadConnections),r.push({value:e.id,label:e.name,symbol:{type:"simple-marker",style:"circle",color:[...e.areaColor,.8],size:"8px",outline:{color:[...e.areaColor],width:4}}}),e.signals.forEach(a=>{const u=new f({geometry:{type:"point",longitude:a.longitude,latitude:a.latitude},attributes:{ObjectID:s++,id:a.nodeId,name:a.name,subDistrictId:e.id,subDistrictName:e.name,districtId:e.parentId,districtName:e.parentName,signalCount:e.signalCount,color:e.areaColor.join(","),type:"subDistrict"}});t.push(u)})}),this.subDistrictPointLayer.renderer={type:"unique-value",field:"subDistrictId",defaultSymbol:{type:"simple-marker",color:[180,180,180,.5],size:"8px",outline:{color:"white",width:1}},defaultLabel:"其他子区",uniqueValueInfos:r,visualVariables:[{type:"size",valueExpression:"$view.scale",stops:[{size:24,value:2500},{size:20,value:5e3},{size:8,value:18055.954822000003},{size:4,value:144447.638572},{size:2,value:1155581108577e-6}]}]},this.currentPointRenderer=this.subDistrictPointLayer.renderer.clone(),await this.subDistrictPointLayer.applyEdits({addFeatures:t})}async showRoads(i){const{type:s,id:t}=i,r=this.subDistrictPointLayer.createQuery(),e=s==="district"?"districtId":"subDistrictId";r.where=`${e} = '${t}'`;const a=await this.subDistrictPointLayer.queryFeatures(r),u=new Map;a.features.forEach(n=>{var y;const{subDistrictId:o,color:c,id:d,districtName:b,subDistrictName:L,signalCount:p}=n.attributes;u.has(o)||u.set(o,{color:c,signalIds:[],districtName:b,subDistrictName:L,signalCount:p}),(y=u.get(o))==null||y.signalIds.push(d)});const h=[],D=[];for(const n of u){let o=0;const c=n[0];h.push({value:c,symbol:{type:"simple-line",color:n[1].color.split(",").map(Number),width:2,style:"solid"}});const{districtName:d,subDistrictName:b,signalIds:L,signalCount:p}=n[1];this.roadConnections.filter(l=>l.subDistrictId===c).forEach(l=>{const I=new f({geometry:{type:"polyline",paths:l.coordinates},attributes:{ObjectID:o++,id:l.id,districtId:l.districtId,subDistrictId:c,subDistrictName:b,districtName:d,signalCount:p,color:n[1].color}});D.push(I)})}this.subDistrictLineLayer.renderer={type:"unique-value",field:"subDistrictId",defaultSymbol:{type:"simple-line",color:[180,180,180,.5],width:2,style:"solid"},defaultLabel:"其他子区",uniqueValueInfos:h,visualVariables:[{type:"size",valueExpression:"$view.scale",stops:[{size:6,value:2500},{size:5,value:5e3},{size:4,value:18055.954822000003},{size:3,value:144447.638572},{size:2,value:1155581108577e-6}]}]},this.currentLineRenderer=this.subDistrictLineLayer.renderer.clone(),await this.subDistrictLineLayer.applyEdits({addFeatures:D})}async clearSubDistricts(){var t;const i=await this.subDistrictPointLayer.queryFeatures();i.features.length>0&&await this.subDistrictPointLayer.applyEdits({deleteFeatures:i.features}),this.subDistrictPointLayer.definitionExpression="1=1";const s=await this.subDistrictLineLayer.queryFeatures();s.features.length>0&&await this.subDistrictLineLayer.applyEdits({deleteFeatures:s.features}),this.subDistrictLineLayer.definitionExpression="1=1",(t=this.clickHandler)==null||t.remove()}setVisible(i){this.subDistrictPointLayer.visible=i,this.subDistrictLineLayer.visible=i}async locateSubDistrict(i){const s=this.subDistrictPointLayer.createQuery();s.where=`subDistrictId = '${i}'`,s.returnGeometry=!0;const t=await this.subDistrictPointLayer.queryFeatures(s);return t.features.length>0?(await m.default.viewGoto(this.view,t.features),{status:0,message:"ok"}):{status:1,message:"未找到子区"}}async highlightSubDistrict(i){let s="";const t=this.subDistrictPointLayer.definitionExpression;this.subDistrictPointLayer.definitionExpression=`subDistrictId = '${i}'`;const r=await this.subDistrictPointLayer.queryFeatures(),e=r.features.length;return e>0?(this.subDistrictLineLayer.definitionExpression=`subDistrictId = '${i}'`,s=r.features[0].attributes.districtId,await m.default.viewGoto(this.view,r.features)):this.subDistrictPointLayer.definitionExpression=t,{count:e,parentId:s}}filter(i){const{type:s,id:t}=i,r=`${s==="district"?"districtId":"subDistrictId"} = '${t}'`;this.subDistrictPointLayer.definitionExpression=r,this.subDistrictLineLayer.definitionExpression=r}resetFilter(){this.subDistrictPointLayer.definitionExpression="1=1",this.subDistrictLineLayer.definitionExpression="1=1"}async viewHitTest(i){var r;const t=(r=(await this.view.hitTest(i,{include:[this.subDistrictPointLayer,this.subDistrictLineLayer]})).results)==null?void 0:r.filter(e=>e.type==="graphic");if(t.length===0)console.time("resetRenderer"),this.subDistrictPointLayer.renderer=this.currentPointRenderer,this.subDistrictLineLayer.renderer=this.currentLineRenderer;else{const e=t[0].graphic,a=e.attributes.color.split(",").map(Number);this.subDistrictPointLayer.renderer={type:"unique-value",field:"subDistrictId",defaultSymbol:{type:"simple-marker",style:"circle",color:[0,0,0,0],size:"8px",outline:{color:[180,180,180,.5],width:4}},defaultLabel:"其他子区",uniqueValueInfos:[{value:e.attributes.subDistrictId,symbol:{type:"simple-marker",style:"circle",color:[...a,.8],size:"8px",outline:{color:a,width:4}}}],visualVariables:[{type:"size",valueExpression:"$view.scale",stops:[{size:24,value:2500},{size:20,value:5e3},{size:8,value:18055.954822000003},{size:4,value:144447.638572},{size:2,value:1155581108577e-6}]}]},this.subDistrictLineLayer.renderer={type:"unique-value",field:"subDistrictId",defaultSymbol:{type:"simple-line",style:"solid",color:[180,180,180,.5],width:"8px"},defaultLabel:"其他子区",uniqueValueInfos:[{value:e.attributes.subDistrictId,symbol:{type:"simple-line",style:"solid",color:e.attributes.color.split(",").map(Number),width:"8px"}}],visualVariables:[{type:"size",valueExpression:"$view.scale",stops:[{size:6,value:2500},{size:5,value:5e3},{size:4,value:18055.954822000003},{size:3,value:144447.638572},{size:2,value:1155581108577e-6}]}]}}}}exports.default=g;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("@arcgis/core/Graphic"),v=require("@arcgis/core/layers/FeatureLayer"),m=require("../common-utils.js"),w=require("./layer-symbol.js");class g{constructor(i){this.roadConnections=[],this.view=i,this.subDistrictPointLayer=new v(w.subDistrictPointLayerOptions),this.subDistrictPointLayer.spatialReference=i.spatialReference,this.subDistrictPointLayer.popupEnabled=!0,this.subDistrictLineLayer=new v(w.subDistrictLineLayerOptions),this.subDistrictLineLayer.spatialReference=i.spatialReference,this.subDistrictLineLayer.popupEnabled=!0,this.view.map.addMany([this.subDistrictLineLayer,this.subDistrictPointLayer])}async showSubDistricts(i){await this.clearSubDistricts(),this.clickHandler=this.view.on("click",this.viewHitTest.bind(this));let s=0;const t=[],r=[];i.forEach(e=>{e.roadConnections.length>0&&this.roadConnections.push(...e.roadConnections),r.push({value:e.id,label:e.name,symbol:{type:"simple-marker",style:"circle",color:[...e.areaColor,.8],size:"8px",outline:{color:[...e.areaColor],width:4}}}),e.signals.forEach(a=>{const u=new f({geometry:{type:"point",longitude:a.longitude,latitude:a.latitude},attributes:{ObjectID:s++,id:a.nodeId,name:a.name,subDistrictId:e.id,subDistrictName:e.name,districtId:e.parentId,districtName:e.parentName,signalCount:e.signalCount,color:e.areaColor.join(","),type:"subDistrict"}});t.push(u)})}),this.subDistrictPointLayer.renderer={type:"unique-value",field:"subDistrictId",defaultSymbol:{type:"simple-marker",color:[180,180,180,.5],size:"8px",outline:{color:"white",width:1}},defaultLabel:"其他子区",uniqueValueInfos:r,visualVariables:[{type:"size",valueExpression:"$view.scale",stops:[{size:24,value:2500},{size:20,value:5e3},{size:8,value:18055.954822000003},{size:4,value:144447.638572},{size:2,value:1155581108577e-6}]}]},this.currentPointRenderer=this.subDistrictPointLayer.renderer.clone(),await this.subDistrictPointLayer.applyEdits({addFeatures:t})}async showRoads(i){const{type:s,id:t}=i,r=this.subDistrictPointLayer.createQuery(),e=s==="district"?"districtId":"subDistrictId";r.where=`${e} = '${t}'`;const a=await this.subDistrictPointLayer.queryFeatures(r),u=new Map;a.features.forEach(n=>{var y;const{subDistrictId:o,color:c,id:d,districtName:b,subDistrictName:L,signalCount:p}=n.attributes;u.has(o)||u.set(o,{color:c,signalIds:[],districtName:b,subDistrictName:L,signalCount:p}),(y=u.get(o))==null||y.signalIds.push(d)});const h=[],D=[];for(const n of u){let o=0;const c=n[0];h.push({value:c,symbol:{type:"simple-line",color:n[1].color.split(",").map(Number),width:2,style:"solid"}});const{districtName:d,subDistrictName:b,signalIds:L,signalCount:p}=n[1];this.roadConnections.filter(l=>l.subDistrictId===c).forEach(l=>{const I=new f({geometry:{type:"polyline",paths:l.coordinates},attributes:{ObjectID:o++,id:l.id,districtId:l.districtId,subDistrictId:c,subDistrictName:b,districtName:d,signalCount:p,color:n[1].color}});D.push(I)})}this.subDistrictLineLayer.renderer={type:"unique-value",field:"subDistrictId",defaultSymbol:{type:"simple-line",color:[180,180,180,.5],width:2,style:"solid"},defaultLabel:"其他子区",uniqueValueInfos:h,visualVariables:[{type:"size",valueExpression:"$view.scale",stops:[{size:6,value:2500},{size:5,value:5e3},{size:4,value:18055.954822000003},{size:3,value:144447.638572},{size:2,value:1155581108577e-6}]}]},this.currentLineRenderer=this.subDistrictLineLayer.renderer.clone(),await this.subDistrictLineLayer.applyEdits({addFeatures:D})}async clearSubDistricts(){var t;const i=await this.subDistrictPointLayer.queryFeatures();i.features.length>0&&await this.subDistrictPointLayer.applyEdits({deleteFeatures:i.features}),this.subDistrictPointLayer.definitionExpression="1=1";const s=await this.subDistrictLineLayer.queryFeatures();s.features.length>0&&await this.subDistrictLineLayer.applyEdits({deleteFeatures:s.features}),this.subDistrictLineLayer.definitionExpression="1=1",(t=this.clickHandler)==null||t.remove()}setVisible(i){this.subDistrictPointLayer.visible=i,this.subDistrictLineLayer.visible=i}async locateSubDistrict(i){const s=this.subDistrictPointLayer.createQuery();s.where=`subDistrictId = '${i}'`,s.returnGeometry=!0;const t=await this.subDistrictPointLayer.queryFeatures(s);return t.features.length>0?(await m.default.viewGoto(this.view,t.features,!1),{status:0,message:"ok"}):{status:1,message:"未找到子区"}}async highlightSubDistrict(i){let s="";const t=this.subDistrictPointLayer.definitionExpression;this.subDistrictPointLayer.definitionExpression=`subDistrictId = '${i}'`;const r=await this.subDistrictPointLayer.queryFeatures(),e=r.features.length;return e>0?(this.subDistrictLineLayer.definitionExpression=`subDistrictId = '${i}'`,s=r.features[0].attributes.districtId,await m.default.viewGoto(this.view,r.features,!1)):this.subDistrictPointLayer.definitionExpression=t,{count:e,parentId:s}}filter(i){const{type:s,id:t}=i,r=`${s==="district"?"districtId":"subDistrictId"} = '${t}'`;this.subDistrictPointLayer.definitionExpression=r,this.subDistrictLineLayer.definitionExpression=r}resetFilter(){this.subDistrictPointLayer.definitionExpression="1=1",this.subDistrictLineLayer.definitionExpression="1=1"}async viewHitTest(i){var r;const t=(r=(await this.view.hitTest(i,{include:[this.subDistrictPointLayer,this.subDistrictLineLayer]})).results)==null?void 0:r.filter(e=>e.type==="graphic");if(t.length===0)console.time("resetRenderer"),this.subDistrictPointLayer.renderer=this.currentPointRenderer,this.subDistrictLineLayer.renderer=this.currentLineRenderer;else{const e=t[0].graphic,a=e.attributes.color.split(",").map(Number);this.subDistrictPointLayer.renderer={type:"unique-value",field:"subDistrictId",defaultSymbol:{type:"simple-marker",style:"circle",color:[0,0,0,0],size:"8px",outline:{color:[180,180,180,.5],width:4}},defaultLabel:"其他子区",uniqueValueInfos:[{value:e.attributes.subDistrictId,symbol:{type:"simple-marker",style:"circle",color:[...a,.8],size:"8px",outline:{color:a,width:4}}}],visualVariables:[{type:"size",valueExpression:"$view.scale",stops:[{size:24,value:2500},{size:20,value:5e3},{size:8,value:18055.954822000003},{size:4,value:144447.638572},{size:2,value:1155581108577e-6}]}]},this.subDistrictLineLayer.renderer={type:"unique-value",field:"subDistrictId",defaultSymbol:{type:"simple-line",style:"solid",color:[180,180,180,.5],width:"8px"},defaultLabel:"其他子区",uniqueValueInfos:[{value:e.attributes.subDistrictId,symbol:{type:"simple-line",style:"solid",color:e.attributes.color.split(",").map(Number),width:"8px"}}],visualVariables:[{type:"size",valueExpression:"$view.scale",stops:[{size:6,value:2500},{size:5,value:5e3},{size:4,value:18055.954822000003},{size:3,value:144447.638572},{size:2,value:1155581108577e-6}]}]}}}}exports.default=g;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gisviewer-vue3-arcgis",
3
- "version": "1.0.241",
3
+ "version": "1.0.242",
4
4
  "main": "lib/index.js",
5
5
  "module": "es/index.mjs",
6
6
  "files": [