@vtx/cs-map 1.0.14 → 1.0.16

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.
@@ -54,7 +54,6 @@ function _default(props) {
54
54
  renderMode: renderMode,
55
55
  features: features,
56
56
  params: params,
57
- method: method,
58
57
  style: style,
59
58
  zIndex: zIndex,
60
59
  key: key || _key,
@@ -65,7 +64,8 @@ function _default(props) {
65
64
  legend: legend,
66
65
  group: group,
67
66
  map: map,
68
- groupLayer: groupLayer
67
+ groupLayer: groupLayer,
68
+ method: method
69
69
  });
70
70
 
71
71
  // 注册事件
@@ -87,7 +87,7 @@ function _default(props) {
87
87
  }, []);
88
88
  (0, _ahooks.useUpdateEffect)(function () {
89
89
  layerRef.current.loadData(data);
90
- }, [data]);
90
+ }, [JSON.stringify(data)]);
91
91
  (0, _ahooks.useUpdateEffect)(function () {
92
92
  layerRef.current.setRenderMode(renderMode);
93
93
  }, [renderMode]);
@@ -96,10 +96,10 @@ function _default(props) {
96
96
  }, [show]);
97
97
  (0, _ahooks.useUpdateEffect)(function () {
98
98
  layerRef.current.setGroup(group);
99
- }, [group]);
99
+ }, [JSON.stringify(group)]);
100
100
  (0, _ahooks.useUpdateEffect)(function () {
101
101
  layerRef.current.loadUrlData(url, params, method);
102
- }, [url, params, method]);
102
+ }, [url, method, JSON.stringify(params)]);
103
103
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, layerLoad && /*#__PURE__*/_react["default"].createElement(_Provider["default"], {
104
104
  value: {
105
105
  map: map,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_FeatureLayer","_interopRequireDefault","_ahooks","_events","_useProps2","_Provider","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","isArray","_default","props","data","features","url","params","style","zIndex","id","_key","labelField","template","children","renderMode","_props$show","show","groupLayer","method","legend","group","_useState","useState","_useState2","layerLoad","setLayerLoad","layerRef","useRef","_useProps","useProps","map","useEffect","layer","FeatureLayer","registerEventLayer","addLayer","current","removeLayer","useUpdateEffect","loadData","setRenderMode","setGroup","loadUrlData","createElement","Fragment","featureLayer"],"sources":["feature-layer/index.js"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\nimport FeatureLayer from './FeatureLayer';\nimport { useUpdateEffect } from 'ahooks';\nimport { registerEventLayer } from '../events';\nimport useProps from \"../_util/useProps\";\nimport Provider from '../_util/Provider';\n\nexport default function(props) {\n const {\n data,\n features,\n url,\n params,\n style,\n zIndex,\n id: key,\n _key,\n name,\n labelField,\n template,\n children,\n renderMode,\n show = true,\n groupLayer,\n method,\n legend,\n group\n } = props;\n const [layerLoad, setLayerLoad] = useState(false);\n const layerRef = useRef();\n const { map } = useProps();\n\n useEffect(() => {\n let layer = new FeatureLayer({\n url,\n data,\n renderMode,\n features,\n params,\n method,\n style,\n zIndex,\n key: key || _key,\n name,\n labelField,\n template,\n show,\n legend,\n group,\n map,\n groupLayer\n });\n\n // 注册事件\n registerEventLayer(layer, props);\n\n\n setLayerLoad(true);\n\n if (groupLayer) {\n groupLayer.addLayer(layer);\n } else {\n map.addLayer(layer);\n }\n\n layerRef.current = layer;\n return () => {\n if (groupLayer) {\n groupLayer.removeLayer(layer);\n } else {\n map.removeLayer(layer);\n }\n };\n }, []);\n\n useUpdateEffect(() => {\n layerRef.current.loadData(data);\n }, [data]);\n\n useUpdateEffect(() => {\n layerRef.current.setRenderMode(renderMode);\n }, [renderMode]);\n\n useUpdateEffect(() => {\n layerRef.current.show = show;\n }, [show]);\n\n useUpdateEffect(() => {\n layerRef.current.setGroup(group);\n }, [group]);\n\n useUpdateEffect(() => {\n layerRef.current.loadUrlData(url, params, method);\n }, [url, params, method]);\n\n return (\n <>\n {layerLoad &&\n <Provider\n value={{\n map,\n featureLayer: layerRef.current\n }}\n >\n {children}\n </Provider>\n }\n </>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_FeatureLayer","_interopRequireDefault","_ahooks","_events","_useProps2","_Provider","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","isArray","_default","props","data","features","url","params","style","zIndex","id","_key","labelField","template","children","renderMode","_props$show","show","groupLayer","method","legend","group","_useState","useState","_useState2","layerLoad","setLayerLoad","layerRef","useRef","_useProps","useProps","map","useEffect","layer","FeatureLayer","registerEventLayer","addLayer","current","removeLayer","useUpdateEffect","loadData","JSON","stringify","setRenderMode","setGroup","loadUrlData","createElement","Fragment","featureLayer"],"sources":["feature-layer/index.js"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\nimport FeatureLayer from './FeatureLayer';\nimport { useUpdateEffect } from 'ahooks';\nimport { registerEventLayer } from '../events';\nimport useProps from '../_util/useProps';\nimport Provider from '../_util/Provider';\n\nexport default function(props) {\n const {\n data,\n features,\n url,\n params,\n style,\n zIndex,\n id: key,\n _key,\n name,\n labelField,\n template,\n children,\n renderMode,\n show = true,\n groupLayer,\n method,\n legend,\n group,\n } = props;\n const [layerLoad, setLayerLoad] = useState(false);\n const layerRef = useRef();\n const { map } = useProps();\n\n useEffect(() => {\n let layer = new FeatureLayer({\n url,\n data,\n renderMode,\n features,\n params,\n style,\n zIndex,\n key: key || _key,\n name,\n labelField,\n template,\n show,\n legend,\n group,\n map,\n groupLayer,\n method,\n });\n\n // 注册事件\n registerEventLayer(layer, props);\n\n setLayerLoad(true);\n\n if (groupLayer) {\n groupLayer.addLayer(layer);\n } else {\n map.addLayer(layer);\n }\n\n layerRef.current = layer;\n return () => {\n if (groupLayer) {\n groupLayer.removeLayer(layer);\n } else {\n map.removeLayer(layer);\n }\n };\n }, []);\n\n useUpdateEffect(() => {\n layerRef.current.loadData(data);\n }, [JSON.stringify(data)]);\n\n useUpdateEffect(() => {\n layerRef.current.setRenderMode(renderMode);\n }, [renderMode]);\n\n useUpdateEffect(() => {\n layerRef.current.show = show;\n }, [show]);\n\n useUpdateEffect(() => {\n layerRef.current.setGroup(group);\n }, [JSON.stringify(group)]);\n\n useUpdateEffect(() => {\n layerRef.current.loadUrlData(url, params, method);\n }, [url, method, JSON.stringify(params)]);\n\n return (\n <>\n {layerLoad && (\n <Provider\n value={{\n map,\n featureLayer: layerRef.current,\n }}\n >\n {children}\n </Provider>\n )}\n </>\n );\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,SAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAAyC,SAAAE,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAX,wBAAAQ,GAAA,EAAAG,WAAA,SAAAA,WAAA,IAAAH,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAO,OAAA,CAAAP,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAQ,KAAA,GAAAN,wBAAA,CAAAC,WAAA,OAAAK,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,cAAAX,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,eAAAC,GAAA,EAAAC,CAAA,WAAAC,eAAA,CAAAF,GAAA,KAAAG,qBAAA,CAAAH,GAAA,EAAAC,CAAA,KAAAG,2BAAA,CAAAJ,GAAA,EAAAC,CAAA,KAAAI,gBAAA;AAAA,SAAAA,iBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAG,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAE,iBAAA,CAAAF,CAAA,EAAAC,MAAA,OAAAE,CAAA,GAAApB,MAAA,CAAAI,SAAA,CAAAiB,QAAA,CAAAf,IAAA,CAAAW,CAAA,EAAAK,KAAA,aAAAF,CAAA,iBAAAH,CAAA,CAAAM,WAAA,EAAAH,CAAA,GAAAH,CAAA,CAAAM,WAAA,CAAAC,IAAA,MAAAJ,CAAA,cAAAA,CAAA,mBAAAK,KAAA,CAAAC,IAAA,CAAAT,CAAA,OAAAG,CAAA,+DAAAO,IAAA,CAAAP,CAAA,UAAAD,iBAAA,CAAAF,CAAA,EAAAC,MAAA;AAAA,SAAAC,kBAAAT,GAAA,EAAAkB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAlB,GAAA,CAAAmB,MAAA,EAAAD,GAAA,GAAAlB,GAAA,CAAAmB,MAAA,WAAAlB,CAAA,MAAAmB,IAAA,OAAAL,KAAA,CAAAG,GAAA,GAAAjB,CAAA,GAAAiB,GAAA,EAAAjB,CAAA,IAAAmB,IAAA,CAAAnB,CAAA,IAAAD,GAAA,CAAAC,CAAA,UAAAmB,IAAA;AAAA,SAAAjB,sBAAAkB,CAAA,EAAAC,CAAA,QAAAC,CAAA,WAAAF,CAAA,gCAAAG,MAAA,IAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,4BAAAE,CAAA,QAAAG,CAAA,EAAAhB,CAAA,EAAAT,CAAA,EAAA0B,CAAA,EAAAC,CAAA,OAAAC,CAAA,OAAAtB,CAAA,iBAAAN,CAAA,IAAAsB,CAAA,GAAAA,CAAA,CAAA3B,IAAA,CAAAyB,CAAA,GAAAS,IAAA,QAAAR,CAAA,QAAAhC,MAAA,CAAAiC,CAAA,MAAAA,CAAA,UAAAM,CAAA,uBAAAA,CAAA,IAAAH,CAAA,GAAAzB,CAAA,CAAAL,IAAA,CAAA2B,CAAA,GAAAQ,IAAA,MAAAH,CAAA,CAAAI,IAAA,CAAAN,CAAA,CAAAO,KAAA,GAAAL,CAAA,CAAAT,MAAA,KAAAG,CAAA,GAAAO,CAAA,iBAAAR,CAAA,IAAAd,CAAA,OAAAG,CAAA,GAAAW,CAAA,yBAAAQ,CAAA,YAAAN,CAAA,eAAAI,CAAA,GAAAJ,CAAA,cAAAjC,MAAA,CAAAqC,CAAA,MAAAA,CAAA,2BAAApB,CAAA,QAAAG,CAAA,aAAAkB,CAAA;AAAA,SAAA1B,gBAAAF,GAAA,QAAAe,KAAA,CAAAmB,OAAA,CAAAlC,GAAA,UAAAA,GAAA;AAE1B,SAAAmC,SAASC,KAAK,EAAE;EAC3B,IACIC,IAAI,GAkBJD,KAAK,CAlBLC,IAAI;IACJC,QAAQ,GAiBRF,KAAK,CAjBLE,QAAQ;IACRC,GAAG,GAgBHH,KAAK,CAhBLG,GAAG;IACHC,MAAM,GAeNJ,KAAK,CAfLI,MAAM;IACNC,KAAK,GAcLL,KAAK,CAdLK,KAAK;IACLC,MAAM,GAaNN,KAAK,CAbLM,MAAM;IACFjD,GAAG,GAYP2C,KAAK,CAZLO,EAAE;IACFC,IAAI,GAWJR,KAAK,CAXLQ,IAAI;IACJ9B,IAAI,GAUJsB,KAAK,CAVLtB,IAAI;IACJ+B,UAAU,GASVT,KAAK,CATLS,UAAU;IACVC,QAAQ,GAQRV,KAAK,CARLU,QAAQ;IACRC,QAAQ,GAORX,KAAK,CAPLW,QAAQ;IACRC,UAAU,GAMVZ,KAAK,CANLY,UAAU;IAAAC,WAAA,GAMVb,KAAK,CALLc,IAAI;IAAJA,IAAI,GAAAD,WAAA,cAAG,IAAI,GAAAA,WAAA;IACXE,UAAU,GAIVf,KAAK,CAJLe,UAAU;IACVC,MAAM,GAGNhB,KAAK,CAHLgB,MAAM;IACNC,MAAM,GAENjB,KAAK,CAFLiB,MAAM;IACNC,KAAK,GACLlB,KAAK,CADLkB,KAAK;EAET,IAAAC,SAAA,GAAkC,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAAC,UAAA,GAAA1D,cAAA,CAAAwD,SAAA;IAA1CG,SAAS,GAAAD,UAAA;IAAEE,YAAY,GAAAF,UAAA;EAC9B,IAAMG,QAAQ,GAAG,IAAAC,aAAM,EAAC,CAAC;EACzB,IAAAC,SAAA,GAAgB,IAAAC,qBAAQ,EAAC,CAAC;IAAlBC,GAAG,GAAAF,SAAA,CAAHE,GAAG;EAEX,IAAAC,gBAAS,EAAC,YAAM;IACZ,IAAIC,KAAK,GAAG,IAAIC,wBAAY,CAAC;MACzB5B,GAAG,EAAHA,GAAG;MACHF,IAAI,EAAJA,IAAI;MACJW,UAAU,EAAVA,UAAU;MACVV,QAAQ,EAARA,QAAQ;MACRE,MAAM,EAANA,MAAM;MACNC,KAAK,EAALA,KAAK;MACLC,MAAM,EAANA,MAAM;MACNjD,GAAG,EAAEA,GAAG,IAAImD,IAAI;MAChB9B,IAAI,EAAJA,IAAI;MACJ+B,UAAU,EAAVA,UAAU;MACVC,QAAQ,EAARA,QAAQ;MACRI,IAAI,EAAJA,IAAI;MACJG,MAAM,EAANA,MAAM;MACNC,KAAK,EAALA,KAAK;MACLU,GAAG,EAAHA,GAAG;MACHb,UAAU,EAAVA,UAAU;MACVC,MAAM,EAANA;IACJ,CAAC,CAAC;;IAEF;IACA,IAAAgB,0BAAkB,EAACF,KAAK,EAAE9B,KAAK,CAAC;IAEhCuB,YAAY,CAAC,IAAI,CAAC;IAElB,IAAIR,UAAU,EAAE;MACZA,UAAU,CAACkB,QAAQ,CAACH,KAAK,CAAC;IAC9B,CAAC,MAAM;MACHF,GAAG,CAACK,QAAQ,CAACH,KAAK,CAAC;IACvB;IAEAN,QAAQ,CAACU,OAAO,GAAGJ,KAAK;IACxB,OAAO,YAAM;MACT,IAAIf,UAAU,EAAE;QACZA,UAAU,CAACoB,WAAW,CAACL,KAAK,CAAC;MACjC,CAAC,MAAM;QACHF,GAAG,CAACO,WAAW,CAACL,KAAK,CAAC;MAC1B;IACJ,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAM,uBAAe,EAAC,YAAM;IAClBZ,QAAQ,CAACU,OAAO,CAACG,QAAQ,CAACpC,IAAI,CAAC;EACnC,CAAC,EAAE,CAACqC,IAAI,CAACC,SAAS,CAACtC,IAAI,CAAC,CAAC,CAAC;EAE1B,IAAAmC,uBAAe,EAAC,YAAM;IAClBZ,QAAQ,CAACU,OAAO,CAACM,aAAa,CAAC5B,UAAU,CAAC;EAC9C,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB,IAAAwB,uBAAe,EAAC,YAAM;IAClBZ,QAAQ,CAACU,OAAO,CAACpB,IAAI,GAAGA,IAAI;EAChC,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAAsB,uBAAe,EAAC,YAAM;IAClBZ,QAAQ,CAACU,OAAO,CAACO,QAAQ,CAACvB,KAAK,CAAC;EACpC,CAAC,EAAE,CAACoB,IAAI,CAACC,SAAS,CAACrB,KAAK,CAAC,CAAC,CAAC;EAE3B,IAAAkB,uBAAe,EAAC,YAAM;IAClBZ,QAAQ,CAACU,OAAO,CAACQ,WAAW,CAACvC,GAAG,EAAEC,MAAM,EAAEY,MAAM,CAAC;EACrD,CAAC,EAAE,CAACb,GAAG,EAAEa,MAAM,EAAEsB,IAAI,CAACC,SAAS,CAACnC,MAAM,CAAC,CAAC,CAAC;EAEzC,oBACIxE,MAAA,YAAA+G,aAAA,CAAA/G,MAAA,YAAAgH,QAAA,QACKtB,SAAS,iBACN1F,MAAA,YAAA+G,aAAA,CAACvG,SAAA,WAAQ;IACLyD,KAAK,EAAE;MACH+B,GAAG,EAAHA,GAAG;MACHiB,YAAY,EAAErB,QAAQ,CAACU;IAC3B;EAAE,GAEDvB,QACK,CAEhB,CAAC;AAEX"}
@@ -13,11 +13,30 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
13
13
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14
14
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
15
15
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
16
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
17
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
17
18
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
18
19
  var GroupLayer = /*#__PURE__*/function () {
19
20
  function GroupLayer(opt_options) {
21
+ var _this = this;
20
22
  _classCallCheck(this, GroupLayer);
23
+ // 获取图层最后一个 index 值
24
+ _defineProperty(this, "getLastIndex", function (_index) {
25
+ var index = 0;
26
+ var layers = _this.layers;
27
+ if (layers !== null && layers !== void 0 && layers.length) {
28
+ if (_index && layers.findIndex(function (v) {
29
+ return _index < v.zIndex;
30
+ }) !== -1) {
31
+ index = layers.findIndex(function (v) {
32
+ return _index < v.zIndex;
33
+ });
34
+ } else {
35
+ index = layers.length - 1;
36
+ }
37
+ }
38
+ return index;
39
+ });
21
40
  var options = opt_options || {};
22
41
  this.map = options.map;
23
42
  this.key = options.key;
@@ -1 +1 @@
1
- {"version":3,"file":"GroupLayer.js","names":["_ImageLayer","_interopRequireDefault","require","_FeatureLayer","_cesium","_lodash","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","Number","GroupLayer","opt_options","options","map","name","legend","layers","value","addLayer","layer","groupIndex","mapIndex","hasLayer","CustomDataSource","FeatureLayer","dataSources","add","ImageryLayer","scene","imageryLayers","isNumber","splice","push","onChange","removeLayer","remove","filter","v","findIndex","getLayers","setLayers","indexOf","_default","exports"],"sources":["group-layer/GroupLayer.js"],"sourcesContent":["import ImageryLayer from \"../image-layer/ImageLayer\";\nimport FeatureLayer from \"../feature-layer/FeatureLayer\";\nimport {CustomDataSource} from 'cesium';\nimport {isNumber} from 'lodash';\n\nclass GroupLayer {\n constructor(opt_options) {\n const options = opt_options || {};\n\n this.map = options.map;\n\n this.key = options.key;\n\n this.name = options.name;\n\n this.legend = options.legend;\n\n this.layers = options.layers || [];\n }\n\n addLayer(layer, groupIndex, mapIndex) {\n if (this.hasLayer(layer)) {\n return\n }\n\n if (layer instanceof CustomDataSource || layer instanceof FeatureLayer) {\n this.map.dataSources.add(layer);\n } else if (layer instanceof ImageryLayer) {\n this.map.scene.imageryLayers.add(layer, mapIndex);\n }\n\n if (isNumber(groupIndex)) {\n this.layers.splice(groupIndex, 0, layer)\n } else {\n this.layers.push(layer);\n }\n\n this.map.layers.onChange();\n }\n\n removeLayer(layer) {\n if (!this.hasLayer(layer)) {\n return\n }\n\n if (layer instanceof CustomDataSource || layer instanceof FeatureLayer) {\n this.map.dataSources.remove(layer);\n } else if (layer instanceof ImageryLayer) {\n this.map.scene.imageryLayers.remove(layer);\n }\n\n this.layers = this.layers.filter(v => v !== layer);\n\n this.map.layers.onChange();\n }\n\n hasLayer(layer) {\n return this.layers.findIndex(v => v === layer) !== -1\n }\n\n getLayers() {\n return this.layers\n }\n\n setLayers(layers) {\n this.layers = layers\n }\n\n indexOf(layer) {\n return this.layers.findIndex(v => v === layer)\n }\n}\n\nexport default GroupLayer;\n"],"mappings":"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"}
1
+ {"version":3,"file":"GroupLayer.js","names":["_ImageLayer","_interopRequireDefault","require","_FeatureLayer","_cesium","_lodash","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","_defineProperty","value","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","Number","GroupLayer","opt_options","_this","_index","index","layers","findIndex","v","zIndex","options","map","name","legend","addLayer","layer","groupIndex","mapIndex","hasLayer","CustomDataSource","FeatureLayer","dataSources","add","ImageryLayer","scene","imageryLayers","isNumber","splice","push","onChange","removeLayer","remove","filter","getLayers","setLayers","indexOf","_default","exports"],"sources":["group-layer/GroupLayer.js"],"sourcesContent":["import ImageryLayer from \"../image-layer/ImageLayer\";\nimport FeatureLayer from \"../feature-layer/FeatureLayer\";\nimport {CustomDataSource} from 'cesium';\nimport {isNumber} from 'lodash';\n\nclass GroupLayer {\n constructor(opt_options) {\n const options = opt_options || {};\n\n this.map = options.map;\n\n this.key = options.key;\n\n this.name = options.name;\n\n this.legend = options.legend;\n\n this.layers = options.layers || [];\n }\n\n addLayer(layer, groupIndex, mapIndex) {\n if (this.hasLayer(layer)) {\n return\n }\n\n if (layer instanceof CustomDataSource || layer instanceof FeatureLayer) {\n this.map.dataSources.add(layer);\n } else if (layer instanceof ImageryLayer) {\n this.map.scene.imageryLayers.add(layer, mapIndex);\n }\n\n if (isNumber(groupIndex)) {\n this.layers.splice(groupIndex, 0, layer)\n } else {\n this.layers.push(layer);\n }\n\n this.map.layers.onChange();\n }\n\n removeLayer(layer) {\n if (!this.hasLayer(layer)) {\n return\n }\n\n if (layer instanceof CustomDataSource || layer instanceof FeatureLayer) {\n this.map.dataSources.remove(layer);\n } else if (layer instanceof ImageryLayer) {\n this.map.scene.imageryLayers.remove(layer);\n }\n\n this.layers = this.layers.filter(v => v !== layer);\n\n this.map.layers.onChange();\n }\n\n hasLayer(layer) {\n return this.layers.findIndex(v => v === layer) !== -1\n }\n\n getLayers() {\n return this.layers\n }\n\n setLayers(layers) {\n this.layers = layers\n }\n\n indexOf(layer) {\n return this.layers.findIndex(v => v === layer)\n }\n\n // 获取图层最后一个 index 值\n getLastIndex = (_index) => {\n let index = 0;\n const layers = this.layers;\n if (layers?.length) {\n if (_index && (layers.findIndex(v => _index < v.zIndex) !== -1)) {\n index = layers.findIndex(v => _index < v.zIndex)\n } else {\n index = layers.length - 1;\n }\n }\n\n return index\n }\n}\n\nexport default GroupLayer;\n"],"mappings":"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"}
@@ -0,0 +1,389 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CesiumHeatmap = void 0;
7
+ var _cesium = require("cesium");
8
+ var _heatmap = _interopRequireDefault(require("./heatmap.js"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
11
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
12
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
15
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
16
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
17
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
21
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
22
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
24
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
25
+ //只能使用2.0.0版本,高版本热度图有出不来的情况,并且2.0.0 npm包有问题,只能通过修改使用这个js
26
+
27
+ var Max = function Max(arr) {
28
+ var len = arr.length;
29
+ var max = -Infinity;
30
+ while (len--) {
31
+ max = arr[len] > max ? arr[len] : max;
32
+ }
33
+ return max;
34
+ };
35
+ var Min = function Min(arr) {
36
+ var len = arr.length;
37
+ var min = Infinity;
38
+ while (len--) {
39
+ min = arr[len] < min ? arr[len] : min;
40
+ }
41
+ return min;
42
+ };
43
+
44
+ /**
45
+ * 热度图
46
+ */
47
+ var CesiumHeatmap = /*#__PURE__*/function () {
48
+ function CesiumHeatmap(viewer, options) {
49
+ var _this$initOptions;
50
+ _classCallCheck(this, CesiumHeatmap);
51
+ _defineProperty(this, "viewer", void 0);
52
+ _defineProperty(this, "element", void 0);
53
+ _defineProperty(this, "initOptions", void 0);
54
+ _defineProperty(this, "heatmapOptions", void 0);
55
+ _defineProperty(this, "heatmapDataOptions", void 0);
56
+ _defineProperty(this, "provider", void 0);
57
+ _defineProperty(this, "heatmap", void 0);
58
+ _defineProperty(this, "cameraMoveEnd", void 0);
59
+ _defineProperty(this, "bounds", [0, 0, 0, 0]);
60
+ _defineProperty(this, "lastCameraHeight", 0);
61
+ _defineProperty(this, "initRadius", 10);
62
+ this.viewer = viewer;
63
+ this.initOptions = _objectSpread({}, options);
64
+ if ((_this$initOptions = this.initOptions) !== null && _this$initOptions !== void 0 && _this$initOptions.points) {
65
+ var _this$initOptions2, _this$heatmapOptions;
66
+ var bounds = this.getBounds(this.initOptions.points);
67
+ this.bounds = bounds;
68
+ var _this$createContainer = this.createContainer(bounds),
69
+ container = _this$createContainer.container,
70
+ width = _this$createContainer.width,
71
+ height = _this$createContainer.height;
72
+ this.element = container;
73
+ var datas = [];
74
+ var values = [];
75
+ for (var i in this.initOptions.points) {
76
+ var point = this.initOptions.points[i];
77
+ var x = (point.x - bounds[0]) / (bounds[2] - bounds[0]) * width; //屏幕坐标x
78
+ var y = (bounds[3] - point.y) / (bounds[3] - bounds[1]) * height; //屏幕坐标y
79
+ var dataPoint = {
80
+ x: x,
81
+ y: y,
82
+ value: point.value
83
+ };
84
+ if (typeof point.value === "number") values.push(point.value);
85
+ datas.push(dataPoint);
86
+ }
87
+
88
+ //数据的最大值和最小值
89
+ var _min = values.length > 100000 ? Min(values) : Math.min.apply(Math, values);
90
+ var _max = values.length > 100000 ? Max(values) : Math.max.apply(Math, values);
91
+ if ((_this$initOptions2 = this.initOptions) !== null && _this$initOptions2 !== void 0 && _this$initOptions2.heatmapDataOptions) {
92
+ var _this$initOptions$hea = this.initOptions.heatmapDataOptions,
93
+ min = _this$initOptions$hea.min,
94
+ max = _this$initOptions$hea.max;
95
+ if (typeof min === "number") {
96
+ _min = min;
97
+ }
98
+ if (typeof max === "number") {
99
+ _max = max;
100
+ }
101
+ }
102
+ this.heatmapDataOptions = {
103
+ min: _min,
104
+ max: _max
105
+ };
106
+ var data = {
107
+ max: _max,
108
+ min: _min,
109
+ data: datas
110
+ };
111
+ var defaultOptions = {
112
+ maxOpacity: 0.9,
113
+ // radius: minRadius,
114
+ // minimum opacity. any value > 0 will produce
115
+ // no transparent gradient transition
116
+ minOpacity: 0.1,
117
+ gradient: {
118
+ // enter n keys between 0 and 1 here
119
+ // for gradient color customization
120
+ ".3": "blue",
121
+ ".5": "green",
122
+ ".7": "yellow",
123
+ ".95": "red"
124
+ }
125
+ };
126
+ var _options = this.initOptions.heatmapOptions ? _objectSpread(_objectSpread({}, defaultOptions), this.initOptions.heatmapOptions) : defaultOptions;
127
+
128
+ //初始化半径
129
+ if ((_this$heatmapOptions = this.heatmapOptions) !== null && _this$heatmapOptions !== void 0 && _this$heatmapOptions.radius) {
130
+ this.initRadius = this.heatmapOptions.radius;
131
+ }
132
+ this.heatmapOptions = _objectSpread({}, _options);
133
+ var _options2 = _objectSpread(_objectSpread({}, _options), {}, {
134
+ container: container
135
+ });
136
+ this.heatmap = _heatmap["default"].create(_options2);
137
+ this.heatmap.setData(data);
138
+ this.createLayer();
139
+ if (!this.initOptions.noLisenerCamera) {
140
+ this.addLisener();
141
+ }
142
+ if (this.initOptions.zoomToLayer && bounds) {
143
+ this.viewer.camera.flyTo({
144
+ destination: _cesium.Rectangle.fromDegrees.apply(_cesium.Rectangle, _toConsumableArray(bounds))
145
+ });
146
+ }
147
+ }
148
+ }
149
+
150
+ /**
151
+ * 设置数据的最大最小值
152
+ * @param dataOption
153
+ */
154
+ _createClass(CesiumHeatmap, [{
155
+ key: "updateHeatMapMaxMin",
156
+ value: function updateHeatMapMaxMin(dataOption) {
157
+ var min = dataOption.min,
158
+ max = dataOption.max;
159
+ if (this.heatmap) {
160
+ if (typeof min === "number") {
161
+ this.heatmap.setDataMin(min);
162
+ if (this.heatmapDataOptions) this.heatmapDataOptions.min = min;
163
+ }
164
+ if (typeof max === "number") {
165
+ this.heatmap.setDataMax(max);
166
+ if (this.heatmapDataOptions) this.heatmapDataOptions.max = max;
167
+ }
168
+ }
169
+ this.updateLayer();
170
+ }
171
+
172
+ /**
173
+ * 更新热度图配置
174
+ * @param options
175
+ */
176
+ }, {
177
+ key: "updateHeatmap",
178
+ value: function updateHeatmap(options) {
179
+ var heatmapOptions = this.heatmapOptions;
180
+ this.heatmap.configure(_objectSpread(_objectSpread({}, heatmapOptions), options));
181
+ this.updateLayer();
182
+ }
183
+
184
+ /**
185
+ * 更新半径
186
+ * @param radius
187
+ */
188
+ }, {
189
+ key: "updateRadius",
190
+ value: function updateRadius(radius) {
191
+ var _this$initOptions3;
192
+ var heatmapOptions = this.heatmapOptions;
193
+ var currentData = this.heatmap.getData();
194
+ if (currentData !== null && currentData !== void 0 && currentData.data) {
195
+ for (var i in currentData.data) {
196
+ var data = currentData.data[i];
197
+ data.radius = radius;
198
+ }
199
+ }
200
+ this.heatmap.setData(currentData);
201
+ this.heatmapOptions = _objectSpread(_objectSpread({}, heatmapOptions), {
202
+ radius: radius
203
+ });
204
+ this.updateLayer();
205
+ if ((_this$initOptions3 = this.initOptions) !== null && _this$initOptions3 !== void 0 && _this$initOptions3.onRadiusChange) {
206
+ this.initOptions.onRadiusChange(radius);
207
+ }
208
+ }
209
+
210
+ /**
211
+ * 移除
212
+ */
213
+ }, {
214
+ key: "remove",
215
+ value: function remove() {
216
+ if (this.element) {
217
+ document.body.removeChild(this.element);
218
+ this.element = undefined;
219
+ if (this.provider instanceof _cesium.ImageryLayer) {
220
+ if (this.provider) this.viewer.imageryLayers.remove(this.provider);
221
+ this.createSingleTileImageryLayer();
222
+ } else if (this.provider instanceof _cesium.Primitive) {
223
+ this.viewer.scene.primitives.remove(this.provider);
224
+ } else if (this.provider instanceof _cesium.Entity) {
225
+ this.viewer.entities.remove(this.provider);
226
+ }
227
+ if (this.cameraMoveEnd) {
228
+ this.viewer.camera.moveEnd.removeEventListener(this.cameraMoveEnd);
229
+ this.cameraMoveEnd = undefined;
230
+ }
231
+ }
232
+ }
233
+ }, {
234
+ key: "createLayer",
235
+ value: function createLayer() {
236
+ if (this.initOptions.renderType === "primitive") {
237
+ this.createPrimitive();
238
+ } else if (this.initOptions.renderType === "imagery") {
239
+ this.createSingleTileImageryLayer();
240
+ } else {
241
+ this.createEntity();
242
+ }
243
+ }
244
+ }, {
245
+ key: "createPrimitive",
246
+ value: function createPrimitive() {
247
+ var url = this.heatmap.getDataURL();
248
+ this.provider = this.viewer.scene.primitives.add(new _cesium.Primitive({
249
+ geometryInstances: new _cesium.GeometryInstance({
250
+ geometry: new _cesium.RectangleGeometry({
251
+ rectangle: _cesium.Rectangle.fromDegrees.apply(_cesium.Rectangle, _toConsumableArray(this.bounds)),
252
+ vertexFormat: _cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT
253
+ })
254
+ }),
255
+ appearance: new _cesium.EllipsoidSurfaceAppearance({
256
+ aboveGround: false
257
+ }),
258
+ show: true
259
+ }));
260
+ if (this.provider) {
261
+ this.provider.appearance.material = new _cesium.Material({
262
+ fabric: {
263
+ type: "Image",
264
+ uniforms: {
265
+ image: url
266
+ }
267
+ }
268
+ });
269
+ }
270
+ }
271
+ }, {
272
+ key: "createSingleTileImageryLayer",
273
+ value: function createSingleTileImageryLayer() {
274
+ var url = this.heatmap.getDataURL();
275
+ this.provider = this.viewer.imageryLayers.addImageryProvider(new _cesium.SingleTileImageryProvider({
276
+ url: url,
277
+ rectangle: _cesium.Rectangle.fromDegrees.apply(_cesium.Rectangle, _toConsumableArray(this.bounds))
278
+ }));
279
+ }
280
+ }, {
281
+ key: "getImageMaterialProperty",
282
+ value: function getImageMaterialProperty() {
283
+ var url = this.heatmap.getDataURL();
284
+ var material = new _cesium.ImageMaterialProperty({
285
+ image: url
286
+ });
287
+ return material;
288
+ }
289
+ }, {
290
+ key: "createEntity",
291
+ value: function createEntity() {
292
+ this.provider = this.viewer.entities.add({
293
+ show: true,
294
+ rectangle: {
295
+ coordinates: _cesium.Rectangle.fromDegrees.apply(_cesium.Rectangle, _toConsumableArray(this.bounds)),
296
+ material: this.getImageMaterialProperty()
297
+ }
298
+ });
299
+ }
300
+ }, {
301
+ key: "updateLayer",
302
+ value: function updateLayer() {
303
+ var src = this.heatmap.getDataURL();
304
+ if (this.provider instanceof _cesium.ImageryLayer) {
305
+ if (this.provider) this.viewer.imageryLayers.remove(this.provider);
306
+ this.createSingleTileImageryLayer();
307
+ } else if (this.provider instanceof _cesium.Primitive) {
308
+ this.provider.appearance.material.uniforms.image = src;
309
+ } else if (this.provider instanceof _cesium.Entity) {
310
+ if (this.provider.rectangle) this.provider.rectangle.material = this.getImageMaterialProperty();
311
+ }
312
+ }
313
+
314
+ /**
315
+ * 添加相机的监听
316
+ */
317
+ }, {
318
+ key: "addLisener",
319
+ value: function addLisener() {
320
+ var _this = this;
321
+ var maxRadius = 100;
322
+ var min = 6375000;
323
+ var max = 10000000;
324
+ this.cameraMoveEnd = function () {
325
+ if (_this.heatmapOptions && _this.heatmap && _this.heatmapDataOptions) {
326
+ var _this$initOptions4;
327
+ var h = _this.viewer.camera.getMagnitude();
328
+ var distance = _this !== null && _this !== void 0 && (_this$initOptions4 = _this.initOptions) !== null && _this$initOptions4 !== void 0 && _this$initOptions4.cameraHeightDistance ? _this.initOptions.cameraHeightDistance : 1000;
329
+ if (Math.abs(h - _this.lastCameraHeight) > distance) {
330
+ _this.lastCameraHeight = h;
331
+ if (typeof min === "number" && typeof max === "number") {
332
+ var radius = parseInt((_this.initRadius + (maxRadius - _this.initRadius) * (h - min) / (max - min)).toFixed(0));
333
+ if (radius) {
334
+ _this.updateRadius(radius);
335
+ }
336
+ }
337
+ }
338
+ }
339
+ };
340
+ this.viewer.camera.moveEnd.addEventListener(this.cameraMoveEnd);
341
+ }
342
+
343
+ /**
344
+ *
345
+ * @param points
346
+ * @param expand
347
+ * @returns
348
+ */
349
+ }, {
350
+ key: "getBounds",
351
+ value: function getBounds(points) {
352
+ if (points) {
353
+ var lonMin = 180;
354
+ var lonMax = -180;
355
+ var latMin = 90;
356
+ var latMax = -180;
357
+ points.forEach(function (point) {
358
+ var longitude = point.x,
359
+ latitude = point.y;
360
+ lonMin = longitude < lonMin ? longitude : lonMin;
361
+ latMin = latitude < latMin ? latitude : latMin;
362
+ lonMax = longitude > lonMax ? longitude : lonMax;
363
+ latMax = latitude > latMax ? latitude : latMax;
364
+ });
365
+ var xRange = lonMax - lonMin ? lonMax - lonMin : 1;
366
+ var yRange = latMax - latMin ? latMax - latMin : 1;
367
+ return [lonMin - xRange / 10, latMin - yRange / 10, lonMax + xRange / 10, latMax + yRange / 10];
368
+ }
369
+ return [0, 0, 0, 0];
370
+ }
371
+ }, {
372
+ key: "createContainer",
373
+ value: function createContainer(bounds) {
374
+ var container = document.createElement("div");
375
+ var width = 1000;
376
+ var height = parseInt((1000 / (bounds[2] - bounds[0]) * (bounds[3] - bounds[1])).toFixed(0));
377
+ container.setAttribute("style", "width:".concat(width, "px;height:").concat(height, "px;display:none;"));
378
+ document.body.appendChild(container);
379
+ return {
380
+ container: container,
381
+ width: width,
382
+ height: height
383
+ };
384
+ }
385
+ }]);
386
+ return CesiumHeatmap;
387
+ }();
388
+ exports.CesiumHeatmap = CesiumHeatmap;
389
+ //# sourceMappingURL=CesiumHeatmap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CesiumHeatmap.js","names":["_cesium","require","_heatmap","_interopRequireDefault","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","minLen","_arrayLikeToArray","n","Object","toString","call","slice","name","Array","from","test","iter","isArray","len","length","i","arr2","ownKeys","e","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","configurable","writable","_toPropertyKey","key","_createClass","protoProps","staticProps","value","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","Max","max","Infinity","Min","min","CesiumHeatmap","viewer","options","_this$initOptions","initOptions","points","_this$initOptions2","_this$heatmapOptions","bounds","getBounds","_this$createContainer","createContainer","container","width","height","element","datas","values","point","x","y","dataPoint","_min","Math","_max","heatmapDataOptions","_this$initOptions$hea","data","defaultOptions","maxOpacity","minOpacity","gradient","_options","heatmapOptions","radius","initRadius","heatmap","h337","create","setData","createLayer","noLisenerCamera","addLisener","zoomToLayer","camera","flyTo","destination","Rectangle","fromDegrees","updateHeatMapMaxMin","dataOption","setDataMin","setDataMax","updateLayer","updateHeatmap","configure","updateRadius","_this$initOptions3","currentData","getData","onRadiusChange","remove","document","body","removeChild","provider","ImageryLayer","imageryLayers","createSingleTileImageryLayer","Primitive","scene","primitives","Entity","entities","cameraMoveEnd","moveEnd","removeEventListener","renderType","createPrimitive","createEntity","url","getDataURL","add","geometryInstances","GeometryInstance","geometry","RectangleGeometry","rectangle","vertexFormat","EllipsoidSurfaceAppearance","VERTEX_FORMAT","appearance","aboveGround","show","material","Material","fabric","type","uniforms","image","addImageryProvider","SingleTileImageryProvider","getImageMaterialProperty","ImageMaterialProperty","coordinates","src","_this","maxRadius","_this$initOptions4","h","getMagnitude","distance","cameraHeightDistance","abs","lastCameraHeight","parseInt","toFixed","addEventListener","lonMin","lonMax","latMin","latMax","longitude","latitude","xRange","yRange","createElement","setAttribute","concat","appendChild","exports"],"sources":["heatmap-layer/CesiumHeatmap.js"],"sourcesContent":["import { EllipsoidSurfaceAppearance, GeometryInstance, Material, Primitive, Rectangle, RectangleGeometry, Viewer, Event, SingleTileImageryProvider, ImageryLayer, ImageMaterialProperty, Entity } from \"cesium\";\nimport h337 from './heatmap.js'//只能使用2.0.0版本,高版本热度图有出不来的情况,并且2.0.0 npm包有问题,只能通过修改使用这个js\n\nconst Max = (arr) => {\n let len = arr.length;\n let max = -Infinity;\n\n while (len--) {\n max = arr[len] > max ? arr[len] : max;\n }\n return max;\n};\n\nconst Min = (arr) => {\n let len = arr.length;\n let min = Infinity;\n\n while (len--) {\n min = arr[len] < min ? arr[len] : min;\n }\n return min;\n};\n\n/**\n * 热度图\n */\nexport class CesiumHeatmap {\n viewer;\n element;\n initOptions;\n heatmapOptions;\n heatmapDataOptions;\n provider;\n heatmap;\n cameraMoveEnd;\n bounds = [0, 0, 0, 0];\n lastCameraHeight = 0;\n initRadius = 10;\n constructor(viewer, options) {\n this.viewer = viewer;\n this.initOptions = { ...options };\n if (this.initOptions?.points) {\n const bounds = this.getBounds(this.initOptions.points);\n this.bounds = bounds;\n const { container, width, height } = this.createContainer(bounds);\n this.element = container;\n const datas = [];\n const values = [];\n for (let i in this.initOptions.points) {\n const point = this.initOptions.points[i];\n const x = ((point.x - bounds[0]) / (bounds[2] - bounds[0])) * width; //屏幕坐标x\n const y = ((bounds[3] - point.y) / (bounds[3] - bounds[1])) * height; //屏幕坐标y\n const dataPoint = {\n x: x,\n y: y,\n value: point.value,\n };\n if (typeof point.value === \"number\") values.push(point.value);\n datas.push(dataPoint);\n }\n\n //数据的最大值和最小值\n let _min = values.length > 100000 ? Min(values) : Math.min(...values);\n let _max = values.length > 100000 ? Max(values) : Math.max(...values);\n if (this.initOptions?.heatmapDataOptions) {\n const { min, max } = this.initOptions.heatmapDataOptions;\n if (typeof min === \"number\") {\n _min = min;\n }\n if (typeof max === \"number\") {\n _max = max;\n }\n }\n this.heatmapDataOptions = { min: _min, max: _max };\n\n const data = {\n max: _max,\n min: _min,\n data: datas,\n };\n\n const defaultOptions = {\n maxOpacity: 0.9,\n // radius: minRadius,\n // minimum opacity. any value > 0 will produce\n // no transparent gradient transition\n minOpacity: 0.1,\n gradient: {\n // enter n keys between 0 and 1 here\n // for gradient color customization\n \".3\": \"blue\",\n \".5\": \"green\",\n \".7\": \"yellow\",\n \".95\": \"red\",\n },\n };\n const _options = this.initOptions.heatmapOptions\n ? { ...defaultOptions, ...this.initOptions.heatmapOptions }\n : defaultOptions;\n\n //初始化半径\n if (this.heatmapOptions?.radius) {\n this.initRadius = this.heatmapOptions.radius;\n }\n\n this.heatmapOptions = { ..._options };\n const options = {\n ..._options,\n container,\n };\n this.heatmap = h337.create(options);\n this.heatmap.setData(data);\n this.createLayer();\n\n if (!this.initOptions.noLisenerCamera) {\n this.addLisener();\n }\n\n if (this.initOptions.zoomToLayer && bounds) {\n this.viewer.camera.flyTo({\n destination: Rectangle.fromDegrees(...bounds),\n });\n }\n }\n }\n\n /**\n * 设置数据的最大最小值\n * @param dataOption\n */\n updateHeatMapMaxMin(dataOption) {\n const { min, max } = dataOption;\n if (this.heatmap) {\n if (typeof min === \"number\") {\n this.heatmap.setDataMin(min);\n if (this.heatmapDataOptions) this.heatmapDataOptions.min = min;\n }\n if (typeof max === \"number\") {\n this.heatmap.setDataMax(max);\n if (this.heatmapDataOptions) this.heatmapDataOptions.max = max;\n }\n }\n this.updateLayer();\n }\n\n /**\n * 更新热度图配置\n * @param options\n */\n updateHeatmap(options) {\n const { heatmapOptions } = this;\n this.heatmap.configure({ ...heatmapOptions, ...options });\n this.updateLayer();\n }\n\n /**\n * 更新半径\n * @param radius\n */\n updateRadius(radius) {\n const { heatmapOptions } = this;\n const currentData = this.heatmap.getData();\n if (currentData?.data) {\n for (let i in currentData.data) {\n const data = currentData.data[i];\n data.radius = radius;\n }\n }\n this.heatmap.setData(currentData);\n this.heatmapOptions = { ...heatmapOptions, ...{ radius } };\n this.updateLayer();\n if (this.initOptions?.onRadiusChange) {\n this.initOptions.onRadiusChange(radius);\n }\n }\n\n /**\n * 移除\n */\n remove() {\n if (this.element) {\n document.body.removeChild(this.element);\n this.element = undefined;\n if (this.provider instanceof ImageryLayer) {\n if (this.provider) this.viewer.imageryLayers.remove(this.provider);\n this.createSingleTileImageryLayer();\n } else if (this.provider instanceof Primitive) {\n this.viewer.scene.primitives.remove(this.provider);\n } else if (this.provider instanceof Entity) {\n this.viewer.entities.remove(this.provider);\n }\n if (this.cameraMoveEnd) {\n this.viewer.camera.moveEnd.removeEventListener(this.cameraMoveEnd);\n this.cameraMoveEnd = undefined;\n }\n }\n }\n\n createLayer() {\n if (this.initOptions.renderType === \"primitive\") {\n this.createPrimitive();\n } else if (this.initOptions.renderType === \"imagery\") {\n this.createSingleTileImageryLayer();\n } else {\n this.createEntity();\n }\n }\n\n createPrimitive() {\n const url = this.heatmap.getDataURL();\n this.provider = this.viewer.scene.primitives.add(\n new Primitive({\n geometryInstances: new GeometryInstance({\n geometry: new RectangleGeometry({\n rectangle: Rectangle.fromDegrees(...this.bounds),\n vertexFormat: EllipsoidSurfaceAppearance.VERTEX_FORMAT,\n }),\n }),\n appearance: new EllipsoidSurfaceAppearance({\n aboveGround: false,\n }),\n show: true,\n })\n );\n if (this.provider) {\n this.provider.appearance.material = new Material({\n fabric: {\n type: \"Image\",\n uniforms: {\n image: url,\n },\n },\n });\n }\n }\n\n createSingleTileImageryLayer() {\n const url = this.heatmap.getDataURL();\n this.provider = this.viewer.imageryLayers.addImageryProvider(\n new SingleTileImageryProvider({\n url: url,\n rectangle: Rectangle.fromDegrees(...this.bounds),\n })\n );\n }\n\n getImageMaterialProperty() {\n const url = this.heatmap.getDataURL();\n const material = new ImageMaterialProperty({\n image: url,\n });\n return material;\n }\n\n createEntity() {\n this.provider = this.viewer.entities.add({\n show: true,\n rectangle: {\n coordinates: Rectangle.fromDegrees(...this.bounds),\n material: this.getImageMaterialProperty(),\n },\n });\n }\n\n updateLayer() {\n const src = this.heatmap.getDataURL();\n if (this.provider instanceof ImageryLayer) {\n if (this.provider) this.viewer.imageryLayers.remove(this.provider);\n this.createSingleTileImageryLayer();\n } else if (this.provider instanceof Primitive) {\n this.provider.appearance.material.uniforms.image = src;\n } else if (this.provider instanceof Entity) {\n if (this.provider.rectangle)\n this.provider.rectangle.material = this.getImageMaterialProperty();\n }\n }\n\n /**\n * 添加相机的监听\n */\n addLisener() {\n const maxRadius = 100;\n const min = 6375000;\n const max = 10000000;\n this.cameraMoveEnd = () => {\n if (this.heatmapOptions && this.heatmap && this.heatmapDataOptions) {\n const h = this.viewer.camera.getMagnitude();\n const distance = this?.initOptions?.cameraHeightDistance\n ? this.initOptions.cameraHeightDistance\n : 1000;\n if (Math.abs(h - this.lastCameraHeight) > distance) {\n this.lastCameraHeight = h;\n if (typeof min === \"number\" && typeof max === \"number\") {\n const radius = parseInt(\n (\n this.initRadius +\n ((maxRadius - this.initRadius) * (h - min)) / (max - min)\n ).toFixed(0)\n );\n if (radius) {\n this.updateRadius(radius);\n }\n }\n }\n }\n };\n this.viewer.camera.moveEnd.addEventListener(this.cameraMoveEnd);\n }\n\n /**\n *\n * @param points\n * @param expand\n * @returns\n */\n getBounds(points) {\n if (points) {\n let lonMin = 180;\n let lonMax = -180;\n let latMin = 90;\n let latMax = -180;\n points.forEach(function (point) {\n const { x: longitude, y: latitude } = point;\n lonMin = longitude < lonMin ? longitude : lonMin;\n latMin = latitude < latMin ? latitude : latMin;\n lonMax = longitude > lonMax ? longitude : lonMax;\n latMax = latitude > latMax ? latitude : latMax;\n });\n const xRange = lonMax - lonMin ? lonMax - lonMin : 1;\n const yRange = latMax - latMin ? latMax - latMin : 1;\n return [\n lonMin - xRange / 10,\n latMin - yRange / 10,\n lonMax + xRange / 10,\n latMax + yRange / 10,\n ];\n }\n return [0, 0, 0, 0];\n }\n\n createContainer(bounds) {\n const container = document.createElement(\"div\");\n const width = 1000;\n const height = parseInt(\n ((1000 / (bounds[2] - bounds[0])) * (bounds[3] - bounds[1])).toFixed(0)\n );\n container.setAttribute(\n \"style\",\n `width:${width}px;height:${height}px;display:none;`\n );\n document.body.appendChild(container);\n return { container, width, height };\n }\n}\n"],"mappings":"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"}