@vtx/cs-map 1.0.25 → 1.0.26

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.
@@ -168,8 +168,9 @@ var FeatureLayer = /*#__PURE__*/function (_CustomDataSource) {
168
168
  }, {
169
169
  key: "getFeatureByFieldValue",
170
170
  value: function getFeatureByFieldValue(field, value) {
171
- return this.getSource().getFeatures().find(function (v) {
172
- return v.values_[field] === value;
171
+ return this.getFeatures().find(function (v) {
172
+ var _v$properties;
173
+ return (v === null || v === void 0 || (_v$properties = v.properties) === null || _v$properties === void 0 || (_v$properties = _v$properties[field]) === null || _v$properties === void 0 ? void 0 : _v$properties._value) === value;
173
174
  });
174
175
  }
175
176
 
@@ -287,17 +288,43 @@ var FeatureLayer = /*#__PURE__*/function (_CustomDataSource) {
287
288
  key: "loadFeatures",
288
289
  value: function loadFeatures(features) {
289
290
  this.entities.removeAll();
290
- this.getSource().addFeatures(features);
291
+ this.entities.addFeatures(features);
291
292
  }
292
293
 
293
294
  // 渲染
294
295
  }, {
295
296
  key: "render",
296
297
  value: function render(geoJsonData) {
297
- var _this4 = this;
298
+ this.geoJsonData = geoJsonData;
298
299
  if (geoJsonData) {
300
+ if (this.renderMode === 'marker') {
301
+ this.setStyle();
302
+ } else {
303
+ this.setRenderMode(this.renderMode);
304
+ }
305
+ }
306
+ }
307
+
308
+ // 设置样式
309
+ }, {
310
+ key: "setStyle",
311
+ value: function setStyle() {
312
+ var _this4 = this;
313
+ if (this.renderMode === 'point') {
314
+ this.entities.values.map(function (entity) {
315
+ (0, _renderer.setRenderer)(entity, {
316
+ type: 'Marker',
317
+ style: _objectSpread({
318
+ type: 'PointIcon',
319
+ color: '#0080ff',
320
+ size: 15
321
+ }, (0, _isObject["default"])(_this4.markerStyle) ? _this4.markerStyle : {})
322
+ });
323
+ });
324
+ } else if (this.renderMode === 'marker') {
325
+ this.entities.removeAll();
326
+ var features = this.geoJsonData.features;
299
327
  var group = this.group;
300
- var features = geoJsonData.features;
301
328
  features.map(function (v) {
302
329
  var entity = createFeature(v);
303
330
  if (entity) {
@@ -339,29 +366,6 @@ var FeatureLayer = /*#__PURE__*/function (_CustomDataSource) {
339
366
  }
340
367
  }
341
368
 
342
- // 设置样式
343
- }, {
344
- key: "setStyle",
345
- value: function setStyle() {
346
- var _this5 = this;
347
- if (this.renderMode === 'point') {
348
- this.entities.values.map(function (entity) {
349
- (0, _renderer.setRenderer)(entity, {
350
- type: 'Marker',
351
- style: _objectSpread({
352
- type: 'PointIcon',
353
- color: '#0080ff',
354
- size: 15
355
- }, (0, _isObject["default"])(_this5.markerStyle) ? _this5.markerStyle : {})
356
- });
357
- });
358
- } else {
359
- this.entities.values.map(function (entity) {
360
- (0, _renderer.setRenderer)(entity, _this5.style);
361
- });
362
- }
363
- }
364
-
365
369
  // 展示聚合
366
370
  }, {
367
371
  key: "showClustering",
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureLayer.js","names":["_cesium","require","_CockpitIcon","_interopRequireDefault","_createFeatureCollection","_Marker","_Polyline","_Polygon","_renderer","_isObject","obj","__esModule","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","descriptor","configurable","writable","_toPropertyKey","key","_createClass","protoProps","staticProps","prototype","_get","Reflect","get","bind","property","receiver","base","_superPropBase","desc","call","value","_inherits","subClass","superClass","create","constructor","_setPrototypeOf","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","construct","_possibleConstructorReturn","self","_typeof","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","set","_set","isStrict","s","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","Number","object","hasOwnProperty","getPrototypeOf","P","Point","Marker","Polyline","Polygon","LineString","MultiLineString","createFeature","v","_v$geometry","geometry","type","coordinates","properties","FeatureLayer","_CustomDataSource","_super","opt_options","_thisSuper","_this2","options","url","params","data","name","labelField","template","autoRefresh","method","renderMode","style","markerStyle","_options$show","show","legend","group","map","f","_f$show","loadUrlData","loadData","setVisible","getMap","getFeatureByFieldValue","field","getSource","getFeatures","find","values_","entities","values","visible","layers","emit","setGroup","features","feature","getProperties","setVisibleByGroup","setRenderMode","hideClustering","setStyle","showClustering","refresh","getDataByHttp","then","_res$features","removeAll","geoJsonData","createFeatureCollection","Array","isArray","render","_this3","_res$features2","loadFeatures","addFeatures","_this4","entity","_this4$group","_style","_style2","setRenderer","_style$style","image","imageType","imageKey","setGifImage","modalType","add","_this5","color","size","isObject","customStyle","clustering","pixelRange","minimumClusterSize","enabled","defined","removeListener","_this","clusterEvent","addEventListener","clusteredEntities","cluster","label","billboard","id","verticalOrigin","VerticalOrigin","BOTTOM","heightReference","HeightReference","CLAMP_TO_GROUND","horizontalOrigin","HorizontalOrigin","CENTER","disableDepthTestDistance","text","CockpitIcon","canvasIcon","hideFooter","info","fontSize","getImgUrl","CustomDataSource","_default","exports"],"sources":["feature-layer/FeatureLayer.js"],"sourcesContent":["import {\n CustomDataSource,\n defined,\n VerticalOrigin,\n HeightReference,\n HorizontalOrigin,\n} from 'cesium';\nimport CockpitIcon from '@vtx/map-icon/lib/map-icon/CockpitIcon';\nimport { createFeatureCollection, getDataByHttp } from './createFeatureCollection';\nimport Marker from '../marker/Marker';\nimport Polyline from '../polyline/Polyline';\nimport Polygon from '../polygon/Polygon';\nimport { setRenderer } from '../renderer';\nimport isObject from '../_util/isObject';\n\nconst P = {\n Point: Marker,\n Marker: Marker,\n Polyline: Polyline,\n Polygon: Polygon,\n LineString: Polyline,\n MultiLineString: Polyline,\n};\n\nconst createFeature = v => {\n let { type, coordinates } = v.geometry;\n if (P[type]) {\n return new P[type]({ geometry: coordinates, properties: v });\n }\n};\n\nclass FeatureLayer extends CustomDataSource {\n constructor(opt_options) {\n const options = opt_options || {};\n const {\n url,\n params,\n data,\n key,\n name,\n labelField,\n template,\n autoRefresh,\n method,\n renderMode,\n style,\n markerStyle,\n show = true,\n legend,\n group,\n map,\n } = options;\n\n if (group?.length) {\n if (!show) {\n group.map(f => {\n f.show = false;\n });\n } else {\n group.map(f => {\n f.show = f.show ?? true;\n });\n }\n }\n\n super(options);\n\n super.show = show;\n\n // 接口地址\n this.url = url;\n\n // 接口地址请求类型\n this.method = method;\n\n // 接口查询参数\n this.params = params;\n\n // 图层标识\n this.key = key;\n\n // 图层名称\n this.name = name;\n\n // 渲染\n this.style = style;\n\n //marker样式\n this.markerStyle = markerStyle;\n\n // 标签字段\n this.labelField = labelField;\n\n // 自动刷新标识\n this.autoRefresh = autoRefresh;\n\n // 模版内容\n this.template = template;\n\n // 渲染模式\n this.renderMode = renderMode || 'marker';\n\n // 图例\n this.legend = legend;\n\n // 过滤\n this.group = group;\n\n // 地图\n this.map = map;\n\n // 是否存在地址\n if (url) {\n // 执行\n this.loadUrlData(url, params, method);\n }\n\n // 直接加载数据\n if (data) {\n // 执行\n this.loadData(data);\n }\n }\n\n // 重写父类的属性访问器\n get show() {\n return super.show;\n }\n\n set show(value) {\n this.setVisible(value);\n }\n\n // 获取地图\n getMap() {\n return this.map;\n }\n\n // 根据条件获取图形数据\n getFeatureByFieldValue(field, value) {\n return this.getSource()\n .getFeatures()\n .find(v => v.values_[field] === value);\n }\n\n // 获取当前图层的所有图形\n getFeatures() {\n return this.entities.values;\n }\n\n // 设置图层显示隐藏\n setVisible(visible) {\n super.show = visible; // 将属性传递给父类\n\n const map = this.getMap && this.getMap();\n if (map) {\n map.layers.emit('visible', this, visible);\n }\n }\n\n // 设置过滤条件\n setGroup(group) {\n const features = this.getFeatures();\n\n const map = this.getMap && this.getMap();\n\n if (group?.length && features?.length) {\n features.map(feature => {\n let show = false;\n group.map(v => {\n if (!v.hasOwnProperty('show') || v.show) {\n let properties = map.getProperties(feature);\n if (v.filter(properties)) {\n show = true;\n }\n }\n });\n\n feature.show = show;\n });\n\n this.group = group;\n\n this.setVisibleByGroup();\n }\n }\n\n // 根据过滤条件组显示图层\n setVisibleByGroup() {\n const group = this.group;\n if (group?.length) {\n let visible = false;\n\n group.map(v => {\n if (!v.hasOwnProperty('show') || v.show) {\n visible = true;\n }\n });\n\n this.setVisible(visible);\n }\n }\n\n // 设置渲染模式\n setRenderMode(renderMode) {\n this.hideClustering();\n\n // 展示聚合时设置样式为 marker 并且开启聚合监听\n if (renderMode === 'clustering') {\n this.renderMode = 'marker';\n this.setStyle();\n this.showClustering();\n } else {\n this.renderMode = renderMode;\n this.setStyle();\n }\n }\n\n // 自动刷新\n refresh() {\n getDataByHttp(this.url, this.params, this.method).then(res => {\n if (res?.features?.length) {\n }\n });\n }\n\n // 加载数据\n loadData(data) {\n this.entities.removeAll();\n let geoJsonData = createFeatureCollection(Array.isArray(data) ? data : [data]);\n this.render(geoJsonData);\n }\n\n // 加载接口数据\n loadUrlData(url, params, method) {\n this.entities.removeAll();\n getDataByHttp(url, params, method).then(res => {\n if (res?.features?.length) {\n this.render(res);\n }\n });\n }\n\n // 加载图形数据\n loadFeatures(features) {\n this.entities.removeAll();\n this.getSource().addFeatures(features);\n }\n\n // 渲染\n render(geoJsonData) {\n if (geoJsonData) {\n const group = this.group;\n let { features } = geoJsonData;\n features.map(v => {\n let entity = createFeature(v);\n if (entity) {\n let show = true;\n let style = this.style;\n\n // 针对过滤时的处理\n if (this.group?.length) {\n show = false;\n group.map(f => {\n if (f.filter(v.properties)) {\n style = f.style;\n\n if (!f.hasOwnProperty('show') || f.show) {\n show = true;\n }\n }\n });\n }\n setRenderer(entity, style);\n\n if (style?.type === 'Marker' && style?.style) {\n let { image, imageType, imageKey } = style.style;\n if (image && imageType) {\n if (imageType === 'gif') {\n entity.setGifImage(image, imageKey);\n }\n }\n }\n\n entity.show = show;\n entity.type = this.modalType || this.key;\n entity.key = this.key;\n entity.properties = v.properties || {};\n\n this.entities.add(entity);\n }\n });\n }\n }\n\n // 设置样式\n setStyle() {\n if (this.renderMode === 'point') {\n this.entities.values.map(entity => {\n setRenderer(entity, {\n type: 'Marker',\n style: {\n type: 'PointIcon',\n color: '#0080ff',\n size: 15,\n ...(isObject(this.markerStyle) ? this.markerStyle : {}),\n },\n });\n });\n } else {\n this.entities.values.map(entity => {\n setRenderer(entity, this.style);\n });\n }\n }\n\n // 展示聚合\n showClustering() {\n // 是否聚合\n this.customStyle();\n this.clustering.pixelRange = 100;\n this.clustering.minimumClusterSize = 2;\n this.clustering.enabled = true;\n }\n\n // 隐藏聚合\n hideClustering() {\n this.clustering.enabled = false;\n if (defined(this.removeListener) && this.removeListener) {\n this.removeListener();\n this.removeListener = undefined;\n }\n }\n\n // 自定义样式\n customStyle() {\n let _this = this;\n if (defined(this.removeListener) && this.removeListener) {\n this.removeListener();\n this.removeListener = undefined;\n } else {\n this.removeListener = this.clustering.clusterEvent.addEventListener(function(\n clusteredEntities,\n cluster,\n ) {\n cluster.label.show = false;\n cluster.billboard.show = true;\n cluster.billboard.id = cluster.label.id;\n cluster.billboard.verticalOrigin = VerticalOrigin.BOTTOM;\n cluster.billboard.heightReference = HeightReference.CLAMP_TO_GROUND;\n cluster.billboard.horizontalOrigin = HorizontalOrigin.CENTER;\n cluster.billboard.disableDepthTestDistance = 10000;\n\n let text = clusteredEntities.length;\n let color = 'rgb(9,220,107)';\n if (clusteredEntities.length >= 50) {\n text = '50+';\n color = 'rgb(220,33,9)';\n } else if (clusteredEntities.length >= 40) {\n text = '40+';\n color = 'rgb(232,119,5)';\n } else if (clusteredEntities.length >= 30) {\n text = '30+';\n color = 'rgb(232,194,4)';\n } else if (clusteredEntities.length >= 20) {\n text = '20+';\n color = 'rgba(20, 232, 4, 1)';\n } else if (clusteredEntities.length >= 10) {\n text = '10+';\n color = 'rgb(0,128,255)';\n }\n cluster.billboard.image = new CockpitIcon({\n canvasIcon: _this.style,\n color,\n hideFooter: true,\n info: [{ text, fontSize: 24 }],\n }).getImgUrl();\n });\n }\n }\n}\n\nexport default FeatureLayer;\n"],"mappings":"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"}
1
+ {"version":3,"file":"FeatureLayer.js","names":["_cesium","require","_CockpitIcon","_interopRequireDefault","_createFeatureCollection","_Marker","_Polyline","_Polygon","_renderer","_isObject","obj","__esModule","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","descriptor","configurable","writable","_toPropertyKey","key","_createClass","protoProps","staticProps","prototype","_get","Reflect","get","bind","property","receiver","base","_superPropBase","desc","call","value","_inherits","subClass","superClass","create","constructor","_setPrototypeOf","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","construct","_possibleConstructorReturn","self","_typeof","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","set","_set","isStrict","s","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","Number","object","hasOwnProperty","getPrototypeOf","P","Point","Marker","Polyline","Polygon","LineString","MultiLineString","createFeature","v","_v$geometry","geometry","type","coordinates","properties","FeatureLayer","_CustomDataSource","_super","opt_options","_thisSuper","_this2","options","url","params","data","name","labelField","template","autoRefresh","method","renderMode","style","markerStyle","_options$show","show","legend","group","map","f","_f$show","loadUrlData","loadData","setVisible","getMap","getFeatureByFieldValue","field","getFeatures","find","_v$properties","_value","entities","values","visible","layers","emit","setGroup","features","feature","getProperties","setVisibleByGroup","setRenderMode","hideClustering","setStyle","showClustering","refresh","getDataByHttp","then","_res$features","removeAll","geoJsonData","createFeatureCollection","Array","isArray","render","_this3","_res$features2","loadFeatures","addFeatures","_this4","entity","setRenderer","color","size","isObject","_this4$group","_style","_style2","_style$style","image","imageType","imageKey","setGifImage","modalType","add","customStyle","clustering","pixelRange","minimumClusterSize","enabled","defined","removeListener","_this","clusterEvent","addEventListener","clusteredEntities","cluster","label","billboard","id","verticalOrigin","VerticalOrigin","BOTTOM","heightReference","HeightReference","CLAMP_TO_GROUND","horizontalOrigin","HorizontalOrigin","CENTER","disableDepthTestDistance","text","CockpitIcon","canvasIcon","hideFooter","info","fontSize","getImgUrl","CustomDataSource","_default","exports"],"sources":["feature-layer/FeatureLayer.js"],"sourcesContent":["import {\n CustomDataSource,\n defined,\n VerticalOrigin,\n HeightReference,\n HorizontalOrigin,\n} from 'cesium';\nimport CockpitIcon from '@vtx/map-icon/lib/map-icon/CockpitIcon';\nimport { createFeatureCollection, getDataByHttp } from './createFeatureCollection';\nimport Marker from '../marker/Marker';\nimport Polyline from '../polyline/Polyline';\nimport Polygon from '../polygon/Polygon';\nimport { setRenderer } from '../renderer';\nimport isObject from '../_util/isObject';\n\nconst P = {\n Point: Marker,\n Marker: Marker,\n Polyline: Polyline,\n Polygon: Polygon,\n LineString: Polyline,\n MultiLineString: Polyline,\n};\n\nconst createFeature = v => {\n let { type, coordinates } = v.geometry;\n if (P[type]) {\n return new P[type]({ geometry: coordinates, properties: v });\n }\n};\n\nclass FeatureLayer extends CustomDataSource {\n constructor(opt_options) {\n const options = opt_options || {};\n const {\n url,\n params,\n data,\n key,\n name,\n labelField,\n template,\n autoRefresh,\n method,\n renderMode,\n style,\n markerStyle,\n show = true,\n legend,\n group,\n map,\n } = options;\n\n if (group?.length) {\n if (!show) {\n group.map(f => {\n f.show = false;\n });\n } else {\n group.map(f => {\n f.show = f.show ?? true;\n });\n }\n }\n\n super(options);\n\n super.show = show;\n\n // 接口地址\n this.url = url;\n\n // 接口地址请求类型\n this.method = method;\n\n // 接口查询参数\n this.params = params;\n\n // 图层标识\n this.key = key;\n\n // 图层名称\n this.name = name;\n\n // 渲染\n this.style = style;\n\n //marker样式\n this.markerStyle = markerStyle;\n\n // 标签字段\n this.labelField = labelField;\n\n // 自动刷新标识\n this.autoRefresh = autoRefresh;\n\n // 模版内容\n this.template = template;\n\n // 渲染模式\n this.renderMode = renderMode || 'marker';\n\n // 图例\n this.legend = legend;\n\n // 过滤\n this.group = group;\n\n // 地图\n this.map = map;\n\n // 是否存在地址\n if (url) {\n // 执行\n this.loadUrlData(url, params, method);\n }\n\n // 直接加载数据\n if (data) {\n // 执行\n this.loadData(data);\n }\n }\n\n // 重写父类的属性访问器\n get show() {\n return super.show;\n }\n\n set show(value) {\n this.setVisible(value);\n }\n\n // 获取地图\n getMap() {\n return this.map;\n }\n\n // 根据条件获取图形数据\n getFeatureByFieldValue(field, value) {\n return this.getFeatures()\n .find(v => v?.properties?.[field]?._value === value);\n }\n\n // 获取当前图层的所有图形\n getFeatures() {\n return this.entities.values;\n }\n\n // 设置图层显示隐藏\n setVisible(visible) {\n super.show = visible; // 将属性传递给父类\n\n const map = this.getMap && this.getMap();\n if (map) {\n map.layers.emit('visible', this, visible);\n }\n }\n\n // 设置过滤条件\n setGroup(group) {\n const features = this.getFeatures();\n\n const map = this.getMap && this.getMap();\n\n if (group?.length && features?.length) {\n features.map(feature => {\n let show = false;\n group.map(v => {\n if (!v.hasOwnProperty('show') || v.show) {\n let properties = map.getProperties(feature);\n if (v.filter(properties)) {\n show = true;\n }\n }\n });\n\n feature.show = show;\n });\n\n this.group = group;\n\n this.setVisibleByGroup();\n }\n }\n\n // 根据过滤条件组显示图层\n setVisibleByGroup() {\n const group = this.group;\n if (group?.length) {\n let visible = false;\n\n group.map(v => {\n if (!v.hasOwnProperty('show') || v.show) {\n visible = true;\n }\n });\n\n this.setVisible(visible);\n }\n }\n\n // 设置渲染模式\n setRenderMode(renderMode) {\n this.hideClustering();\n\n // 展示聚合时设置样式为 marker 并且开启聚合监听\n if (renderMode === 'clustering') {\n this.renderMode = 'marker';\n this.setStyle();\n this.showClustering();\n } else {\n this.renderMode = renderMode;\n this.setStyle();\n }\n }\n\n // 自动刷新\n refresh() {\n getDataByHttp(this.url, this.params, this.method).then(res => {\n if (res?.features?.length) {\n }\n });\n }\n\n // 加载数据\n loadData(data) {\n this.entities.removeAll();\n let geoJsonData = createFeatureCollection(Array.isArray(data) ? data : [data]);\n this.render(geoJsonData);\n }\n\n // 加载接口数据\n loadUrlData(url, params, method) {\n this.entities.removeAll();\n getDataByHttp(url, params, method).then(res => {\n if (res?.features?.length) {\n this.render(res);\n }\n });\n }\n\n // 加载图形数据\n loadFeatures(features) {\n this.entities.removeAll();\n this.entities.addFeatures(features);\n }\n\n // 渲染\n render(geoJsonData) {\n this.geoJsonData = geoJsonData;\n if (geoJsonData) {\n if (this.renderMode === 'marker') {\n this.setStyle();\n } else {\n this.setRenderMode(this.renderMode);\n }\n }\n }\n\n // 设置样式\n setStyle() {\n if (this.renderMode === 'point') {\n this.entities.values.map(entity => {\n setRenderer(entity, {\n type: 'Marker',\n style: {\n type: 'PointIcon',\n color: '#0080ff',\n size: 15,\n ...(isObject(this.markerStyle) ? this.markerStyle : {}),\n },\n });\n });\n } else if (this.renderMode === 'marker') {\n this.entities.removeAll();\n let { features } = this.geoJsonData;\n const group = this.group;\n features.map(v => {\n let entity = createFeature(v);\n if (entity) {\n let show = true;\n let style = this.style;\n\n // 针对过滤时的处理\n if (this.group?.length) {\n show = false;\n group.map(f => {\n if (f.filter(v.properties)) {\n style = f.style;\n\n if (!f.hasOwnProperty('show') || f.show) {\n show = true;\n }\n }\n });\n }\n setRenderer(entity, style);\n\n if (style?.type === 'Marker' && style?.style) {\n let { image, imageType, imageKey } = style.style;\n if (image && imageType) {\n if (imageType === 'gif') {\n entity.setGifImage(image, imageKey);\n }\n }\n }\n\n entity.show = show;\n entity.type = this.modalType || this.key;\n entity.key = this.key;\n entity.properties = v.properties || {};\n\n this.entities.add(entity);\n }\n });\n }\n }\n\n // 展示聚合\n showClustering() {\n // 是否聚合\n this.customStyle();\n this.clustering.pixelRange = 100;\n this.clustering.minimumClusterSize = 2;\n this.clustering.enabled = true;\n }\n\n // 隐藏聚合\n hideClustering() {\n this.clustering.enabled = false;\n if (defined(this.removeListener) && this.removeListener) {\n this.removeListener();\n this.removeListener = undefined;\n }\n }\n\n // 自定义样式\n customStyle() {\n let _this = this;\n if (defined(this.removeListener) && this.removeListener) {\n this.removeListener();\n this.removeListener = undefined;\n } else {\n this.removeListener = this.clustering.clusterEvent.addEventListener(function(\n clusteredEntities,\n cluster,\n ) {\n cluster.label.show = false;\n cluster.billboard.show = true;\n cluster.billboard.id = cluster.label.id;\n cluster.billboard.verticalOrigin = VerticalOrigin.BOTTOM;\n cluster.billboard.heightReference = HeightReference.CLAMP_TO_GROUND;\n cluster.billboard.horizontalOrigin = HorizontalOrigin.CENTER;\n cluster.billboard.disableDepthTestDistance = 10000;\n\n let text = clusteredEntities.length;\n let color = 'rgb(9,220,107)';\n if (clusteredEntities.length >= 50) {\n text = '50+';\n color = 'rgb(220,33,9)';\n } else if (clusteredEntities.length >= 40) {\n text = '40+';\n color = 'rgb(232,119,5)';\n } else if (clusteredEntities.length >= 30) {\n text = '30+';\n color = 'rgb(232,194,4)';\n } else if (clusteredEntities.length >= 20) {\n text = '20+';\n color = 'rgba(20, 232, 4, 1)';\n } else if (clusteredEntities.length >= 10) {\n text = '10+';\n color = 'rgb(0,128,255)';\n }\n cluster.billboard.image = new CockpitIcon({\n canvasIcon: _this.style,\n color,\n hideFooter: true,\n info: [{ text, fontSize: 24 }],\n }).getImgUrl();\n });\n }\n }\n}\n\nexport default FeatureLayer;\n"],"mappings":"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"}
@@ -61,7 +61,7 @@ var CesiumHeatmap = /*#__PURE__*/function () {
61
61
  _defineProperty(this, "initRadius", 10);
62
62
  this.viewer = viewer;
63
63
  this.initOptions = _objectSpread({}, options);
64
- if ((_this$initOptions = this.initOptions) !== null && _this$initOptions !== void 0 && _this$initOptions.points) {
64
+ if ((_this$initOptions = this.initOptions) !== null && _this$initOptions !== void 0 && (_this$initOptions = _this$initOptions.points) !== null && _this$initOptions !== void 0 && _this$initOptions.length) {
65
65
  var _this$initOptions2, _this$heatmapOptions;
66
66
  var bounds = this.getBounds(this.initOptions.points);
67
67
  this.bounds = bounds;
@@ -1 +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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"}
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?.length) {\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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"}
@@ -28,7 +28,8 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
28
28
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
29
29
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
30
30
  function _default(props) {
31
- var data = props.data,
31
+ var _props$data = props.data,
32
+ data = _props$data === void 0 ? [] : _props$data,
32
33
  heatmapDataOptions = props.heatmapDataOptions,
33
34
  heatmapOptions = props.heatmapOptions;
34
35
  var _useProps = (0, _useProps2["default"])(),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_useProps2","_interopRequireDefault","_CesiumHeatmap","_createFeatureCollection","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","_slicedToArray","i","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","n","toString","slice","constructor","name","test","len","arr2","l","u","a","f","next","done","_default","props","data","heatmapDataOptions","heatmapOptions","_useProps","useProps","map","useEffect","layer","CesiumHeatmap","points","v","geometryInfo","_transformGeometry$co","transformGeometry","coordinates","x","y","max","Math","min","maxOpacity","minOpacity","remove","createElement","Fragment"],"sources":["heatmap-layer/index.js"],"sourcesContent":["import React from 'react';\nimport useProps from '../_util/useProps';\nimport { useEffect } from 'react';\nimport {CesiumHeatmap} from \"./CesiumHeatmap\";\nimport {transformGeometry} from \"../feature-layer/createFeatureCollection\";\n\nexport default function(props) {\n const {data, heatmapDataOptions, heatmapOptions} = props;\n const { map } = useProps();\n useEffect(() => {\n const layer = new CesiumHeatmap(map, {\n points: data.map(v => {\n let {geometryInfo} = v;\n let [x, y] = transformGeometry(geometryInfo).coordinates;\n\n return {\n ...v,\n x,\n y,\n }\n }),\n heatmapDataOptions: {\n max: Math.max(...data.map(v => v.value)),\n min: Math.min(...data.map(v => v.value)),\n ...heatmapDataOptions\n },\n heatmapOptions: {\n maxOpacity: 0.9,\n minOpacity: 0.1,\n ...heatmapOptions\n },\n });\n\n return () => {\n layer.remove();\n }\n }, []);\n return <></>;\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,wBAAA,GAAAJ,OAAA;AAA2E,SAAAE,uBAAAG,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,SAAAT,wBAAAM,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,mBAAAC,GAAA,WAAAC,kBAAA,CAAAD,GAAA,KAAAE,gBAAA,CAAAF,GAAA,KAAAG,2BAAA,CAAAH,GAAA,KAAAI,kBAAA;AAAA,SAAAA,mBAAA,cAAAC,SAAA;AAAA,SAAAH,iBAAAI,IAAA,eAAAC,MAAA,oBAAAD,IAAA,CAAAC,MAAA,CAAAC,QAAA,aAAAF,IAAA,+BAAAG,KAAA,CAAAC,IAAA,CAAAJ,IAAA;AAAA,SAAAL,mBAAAD,GAAA,QAAAS,KAAA,CAAAE,OAAA,CAAAX,GAAA,UAAAY,iBAAA,CAAAZ,GAAA;AAAA,SAAAa,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAA1B,MAAA,CAAA2B,IAAA,CAAAH,CAAA,OAAAxB,MAAA,CAAA4B,qBAAA,QAAAC,CAAA,GAAA7B,MAAA,CAAA4B,qBAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAzB,MAAA,CAAAE,wBAAA,CAAAsB,CAAA,EAAAC,CAAA,EAAAM,UAAA,OAAAL,CAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAQ,cAAAV,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAU,SAAA,CAAAC,MAAA,EAAAX,CAAA,UAAAC,CAAA,WAAAS,SAAA,CAAAV,CAAA,IAAAU,SAAA,CAAAV,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAvB,MAAA,CAAA0B,CAAA,OAAAW,OAAA,WAAAZ,CAAA,IAAAa,eAAA,CAAAd,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAzB,MAAA,CAAAuC,yBAAA,GAAAvC,MAAA,CAAAwC,gBAAA,CAAAhB,CAAA,EAAAxB,MAAA,CAAAuC,yBAAA,CAAAb,CAAA,KAAAH,OAAA,CAAAvB,MAAA,CAAA0B,CAAA,GAAAW,OAAA,WAAAZ,CAAA,IAAAzB,MAAA,CAAAC,cAAA,CAAAuB,CAAA,EAAAC,CAAA,EAAAzB,MAAA,CAAAE,wBAAA,CAAAwB,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAc,gBAAAnD,GAAA,EAAAgB,GAAA,EAAAsC,KAAA,IAAAtC,GAAA,GAAAuC,cAAA,CAAAvC,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAAsC,KAAA,EAAAA,KAAA,EAAAV,UAAA,QAAAY,YAAA,QAAAC,QAAA,oBAAAzD,GAAA,CAAAgB,GAAA,IAAAsC,KAAA,WAAAtD,GAAA;AAAA,SAAAuD,eAAAG,GAAA,QAAA1C,GAAA,GAAA2C,YAAA,CAAAD,GAAA,oBAAAnD,OAAA,CAAAS,GAAA,iBAAAA,GAAA,GAAA4C,MAAA,CAAA5C,GAAA;AAAA,SAAA2C,aAAAE,KAAA,EAAAC,IAAA,QAAAvD,OAAA,CAAAsD,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAA/B,MAAA,CAAAkC,WAAA,OAAAD,IAAA,KAAAE,SAAA,QAAAC,GAAA,GAAAH,IAAA,CAAA5C,IAAA,CAAA0C,KAAA,EAAAC,IAAA,oBAAAvD,OAAA,CAAA2D,GAAA,uBAAAA,GAAA,YAAAtC,SAAA,4DAAAkC,IAAA,gBAAAF,MAAA,GAAAO,MAAA,EAAAN,KAAA;AAAA,SAAAO,eAAA7C,GAAA,EAAA8C,CAAA,WAAAC,eAAA,CAAA/C,GAAA,KAAAgD,qBAAA,CAAAhD,GAAA,EAAA8C,CAAA,KAAA3C,2BAAA,CAAAH,GAAA,EAAA8C,CAAA,KAAAG,gBAAA;AAAA,SAAAA,iBAAA,cAAA5C,SAAA;AAAA,SAAAF,4BAAAgB,CAAA,EAAA+B,MAAA,SAAA/B,CAAA,qBAAAA,CAAA,sBAAAP,iBAAA,CAAAO,CAAA,EAAA+B,MAAA,OAAAC,CAAA,GAAA7D,MAAA,CAAAI,SAAA,CAAA0D,QAAA,CAAAxD,IAAA,CAAAuB,CAAA,EAAAkC,KAAA,aAAAF,CAAA,iBAAAhC,CAAA,CAAAmC,WAAA,EAAAH,CAAA,GAAAhC,CAAA,CAAAmC,WAAA,CAAAC,IAAA,MAAAJ,CAAA,cAAAA,CAAA,mBAAA1C,KAAA,CAAAC,IAAA,CAAAS,CAAA,OAAAgC,CAAA,+DAAAK,IAAA,CAAAL,CAAA,UAAAvC,iBAAA,CAAAO,CAAA,EAAA+B,MAAA;AAAA,SAAAtC,kBAAAZ,GAAA,EAAAyD,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAzD,GAAA,CAAA0B,MAAA,EAAA+B,GAAA,GAAAzD,GAAA,CAAA0B,MAAA,WAAAoB,CAAA,MAAAY,IAAA,OAAAjD,KAAA,CAAAgD,GAAA,GAAAX,CAAA,GAAAW,GAAA,EAAAX,CAAA,IAAAY,IAAA,CAAAZ,CAAA,IAAA9C,GAAA,CAAA8C,CAAA,UAAAY,IAAA;AAAA,SAAAV,sBAAAjC,CAAA,EAAA4C,CAAA,QAAA3C,CAAA,WAAAD,CAAA,gCAAAR,MAAA,IAAAQ,CAAA,CAAAR,MAAA,CAAAC,QAAA,KAAAO,CAAA,4BAAAC,CAAA,QAAAF,CAAA,EAAAqC,CAAA,EAAAL,CAAA,EAAAc,CAAA,EAAAC,CAAA,OAAAC,CAAA,OAAA3C,CAAA,iBAAA2B,CAAA,IAAA9B,CAAA,GAAAA,CAAA,CAAApB,IAAA,CAAAmB,CAAA,GAAAgD,IAAA,QAAAJ,CAAA,QAAArE,MAAA,CAAA0B,CAAA,MAAAA,CAAA,UAAA8C,CAAA,uBAAAA,CAAA,IAAAhD,CAAA,GAAAgC,CAAA,CAAAlD,IAAA,CAAAoB,CAAA,GAAAgD,IAAA,MAAAH,CAAA,CAAAvC,IAAA,CAAAR,CAAA,CAAAiB,KAAA,GAAA8B,CAAA,CAAAnC,MAAA,KAAAiC,CAAA,GAAAG,CAAA,iBAAA/C,CAAA,IAAAI,CAAA,OAAAgC,CAAA,GAAApC,CAAA,yBAAA+C,CAAA,YAAA9C,CAAA,eAAA4C,CAAA,GAAA5C,CAAA,cAAA1B,MAAA,CAAAsE,CAAA,MAAAA,CAAA,2BAAAzC,CAAA,QAAAgC,CAAA,aAAAU,CAAA;AAAA,SAAAd,gBAAA/C,GAAA,QAAAS,KAAA,CAAAE,OAAA,CAAAX,GAAA,UAAAA,GAAA;AAE5D,SAAAiE,SAASC,KAAK,EAAE;EAC3B,IAAOC,IAAI,GAAwCD,KAAK,CAAjDC,IAAI;IAAEC,kBAAkB,GAAoBF,KAAK,CAA3CE,kBAAkB;IAAEC,cAAc,GAAIH,KAAK,CAAvBG,cAAc;EAC/C,IAAAC,SAAA,GAAgB,IAAAC,qBAAQ,EAAC,CAAC;IAAlBC,GAAG,GAAAF,SAAA,CAAHE,GAAG;EACX,IAAAC,gBAAS,EAAC,YAAM;IACZ,IAAMC,KAAK,GAAG,IAAIC,4BAAa,CAACH,GAAG,EAAE;MACjCI,MAAM,EAAET,IAAI,CAACK,GAAG,CAAC,UAAAK,CAAC,EAAI;QAClB,IAAKC,YAAY,GAAID,CAAC,CAAjBC,YAAY;QACjB,IAAAC,qBAAA,GAAAlC,cAAA,CAAa,IAAAmC,0CAAiB,EAACF,YAAY,CAAC,CAACG,WAAW;UAAnDC,CAAC,GAAAH,qBAAA;UAAEI,CAAC,GAAAJ,qBAAA;QAET,OAAAvD,aAAA,CAAAA,aAAA,KACOqD,CAAC;UACJK,CAAC,EAADA,CAAC;UACDC,CAAC,EAADA;QAAC;MAET,CAAC,CAAC;MACFf,kBAAkB,EAAA5C,aAAA;QACd4D,GAAG,EAAEC,IAAI,CAACD,GAAG,CAAA7D,KAAA,CAAR8D,IAAI,EAAAtF,kBAAA,CAAQoE,IAAI,CAACK,GAAG,CAAC,UAAAK,CAAC;UAAA,OAAIA,CAAC,CAAC9C,KAAK;QAAA,EAAC,EAAC;QACxCuD,GAAG,EAAED,IAAI,CAACC,GAAG,CAAA/D,KAAA,CAAR8D,IAAI,EAAAtF,kBAAA,CAAQoE,IAAI,CAACK,GAAG,CAAC,UAAAK,CAAC;UAAA,OAAIA,CAAC,CAAC9C,KAAK;QAAA,EAAC;MAAC,GACrCqC,kBAAkB,CACxB;MACDC,cAAc,EAAA7C,aAAA;QACV+D,UAAU,EAAE,GAAG;QACfC,UAAU,EAAE;MAAG,GACZnB,cAAc;IAEzB,CAAC,CAAC;IAEF,OAAO,YAAM;MACTK,KAAK,CAACe,MAAM,CAAC,CAAC;IAClB,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EACN,oBAAOvH,MAAA,YAAAwH,aAAA,CAAAxH,MAAA,YAAAyH,QAAA,MAAI,CAAC;AAChB"}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_useProps2","_interopRequireDefault","_CesiumHeatmap","_createFeatureCollection","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","_slicedToArray","i","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","n","toString","slice","constructor","name","test","len","arr2","l","u","a","f","next","done","_default","props","_props$data","data","heatmapDataOptions","heatmapOptions","_useProps","useProps","map","useEffect","layer","CesiumHeatmap","points","v","geometryInfo","_transformGeometry$co","transformGeometry","coordinates","x","y","max","Math","min","maxOpacity","minOpacity","remove","createElement","Fragment"],"sources":["heatmap-layer/index.js"],"sourcesContent":["import React from 'react';\nimport useProps from '../_util/useProps';\nimport { useEffect } from 'react';\nimport {CesiumHeatmap} from \"./CesiumHeatmap\";\nimport {transformGeometry} from \"../feature-layer/createFeatureCollection\";\n\nexport default function(props) {\n const {data = [], heatmapDataOptions, heatmapOptions} = props;\n const { map } = useProps();\n useEffect(() => {\n const layer = new CesiumHeatmap(map, {\n points: data.map(v => {\n let {geometryInfo} = v;\n let [x, y] = transformGeometry(geometryInfo).coordinates;\n\n return {\n ...v,\n x,\n y,\n }\n }),\n heatmapDataOptions: {\n max: Math.max(...data.map(v => v.value)),\n min: Math.min(...data.map(v => v.value)),\n ...heatmapDataOptions\n },\n heatmapOptions: {\n maxOpacity: 0.9,\n minOpacity: 0.1,\n ...heatmapOptions\n },\n });\n\n return () => {\n layer.remove();\n }\n }, []);\n return <></>;\n}\n"],"mappings":"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"}
package/lib/map/Popup.js CHANGED
@@ -89,6 +89,7 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
89
89
  map: map
90
90
  }));
91
91
  var highlightLayer = (0, _react.useRef)();
92
+ var viewRef = (0, _react.useRef)();
92
93
  (0, _react.useEffect)(function () {
93
94
  highlightLayer.current = new _HighlightLayer["default"]({
94
95
  map: map
@@ -204,6 +205,9 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
204
205
  });
205
206
  map.popupRef = feature;
206
207
  highlightLayer.current.addHighlightFeature(feature);
208
+ if (!viewRef.current) {
209
+ getView();
210
+ }
207
211
  map.fitView({
208
212
  entity: feature,
209
213
  height: height
@@ -245,8 +249,45 @@ var Popup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
245
249
  highlightLayer.current.clearFeatures();
246
250
 
247
251
  // map.fitView();
248
- };
249
252
 
253
+ setView();
254
+ };
255
+ var getView = function getView() {
256
+ //获取当前视角的pitch
257
+ var pitch = map.camera.pitch;
258
+ //获取当前视角的heading
259
+ var heading = map.camera.heading;
260
+ //获取当前视角的postion(位置)
261
+ var position = map.camera.position;
262
+ viewRef.current = {
263
+ "x": position.x,
264
+ "y": position.y,
265
+ "z": position.z,
266
+ "pitch": pitch,
267
+ "heading": heading
268
+ };
269
+ };
270
+ var setView = function setView() {
271
+ if (viewRef.current) {
272
+ map.camera.flyTo({
273
+ //定位到范围中心点
274
+ destination: {
275
+ x: viewRef.current.x,
276
+ y: viewRef.current.y,
277
+ z: viewRef.current.z
278
+ },
279
+ orientation: {
280
+ heading: viewRef.current.heading,
281
+ //左右方向
282
+ pitch: viewRef.current.pitch,
283
+ //上下方向
284
+ roll: 0.0
285
+ },
286
+ duration: 2
287
+ });
288
+ viewRef.current = null;
289
+ }
290
+ };
250
291
  return /*#__PURE__*/_react["default"].createElement("div", {
251
292
  ref: popupRef,
252
293
  className: (0, _classnames["default"])('cesium-popup', {