@vtx/cs-map 1.0.82 → 1.0.84

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.
Files changed (45) hide show
  1. package/lib/_util/cesium.js +179 -0
  2. package/lib/_util/cesium.js.map +1 -0
  3. package/lib/cesium-tiles-layer/CesiumTilesLayer.js +1 -1
  4. package/lib/cesium-tiles-layer/CesiumTilesLayer.js.map +1 -1
  5. package/lib/circle-fly/index.js +75 -0
  6. package/lib/circle-fly/index.js.map +1 -0
  7. package/lib/circle-fly/style/css.js +4 -0
  8. package/lib/circle-fly/style/css.js.map +1 -0
  9. package/lib/circle-fly/style/index.css +0 -0
  10. package/lib/circle-fly/style/index.js +4 -0
  11. package/lib/circle-fly/style/index.js.map +1 -0
  12. package/lib/circle-fly/style/index.less +0 -0
  13. package/lib/feature-layer/FeatureLayer.js +4 -0
  14. package/lib/feature-layer/FeatureLayer.js.map +1 -1
  15. package/lib/image-layer/ImageLayer.js +4 -0
  16. package/lib/image-layer/ImageLayer.js.map +1 -1
  17. package/lib/index.js +22 -1
  18. package/lib/index.js.map +1 -1
  19. package/lib/inundate-analysis/index.js +121 -0
  20. package/lib/inundate-analysis/index.js.map +1 -0
  21. package/lib/inundate-analysis/style/css.js +4 -0
  22. package/lib/inundate-analysis/style/css.js.map +1 -0
  23. package/lib/inundate-analysis/style/index.css +0 -0
  24. package/lib/inundate-analysis/style/index.js +4 -0
  25. package/lib/inundate-analysis/style/index.js.map +1 -0
  26. package/lib/inundate-analysis/style/index.less +0 -0
  27. package/lib/map/Popup.js +224 -179
  28. package/lib/map/Popup.js.map +1 -1
  29. package/lib/map/base/imagery/irs/IRSImageryProvider.js +110 -0
  30. package/lib/map/base/imagery/irs/IRSImageryProvider.js.map +1 -0
  31. package/lib/map/base/imagery/tdt/TdtImageryProvider.js +22 -1
  32. package/lib/map/base/imagery/tdt/TdtImageryProvider.js.map +1 -1
  33. package/lib/map/base/index.js +4 -2
  34. package/lib/map/base/index.js.map +1 -1
  35. package/lib/map/index.js +55 -43
  36. package/lib/map/index.js.map +1 -1
  37. package/lib/scene-roam/index.js +311 -0
  38. package/lib/scene-roam/index.js.map +1 -0
  39. package/lib/scene-roam/style/css.js +4 -0
  40. package/lib/scene-roam/style/css.js.map +1 -0
  41. package/lib/scene-roam/style/index.css +0 -0
  42. package/lib/scene-roam/style/index.js +4 -0
  43. package/lib/scene-roam/style/index.js.map +1 -0
  44. package/lib/scene-roam/style/index.less +0 -0
  45. package/package.json +1 -1
package/lib/map/index.js CHANGED
@@ -24,6 +24,8 @@ var _lodash = require("lodash");
24
24
  var _createFeatureCollection = require("../feature-layer/createFeatureCollection");
25
25
  var _getBBoxFromGeojson = _interopRequireDefault(require("../_util/getBBoxFromGeojson.js"));
26
26
  var _heightAndZoom = require("../_util/heightAndZoom.js");
27
+ var _TdtImageryProvider = require("./base/imagery/tdt/TdtImageryProvider");
28
+ var _IRSImageryProvider = require("./base/imagery/irs/IRSImageryProvider");
27
29
  var _excluded = ["center", "fitViewHeight", "dark", "zoom", "createdMap"],
28
30
  _excluded2 = ["geoJson", "geometryInfo", "data", "entity", "lng", "lat", "height", "options"];
29
31
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -122,25 +124,18 @@ function Map(props) {
122
124
  };
123
125
  }
124
126
  }, []);
125
- var addImageryProvider = function addImageryProvider() {
126
- var TDT_CIA_W = "https://{s}.tianditu.gov.cn/cia_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cia&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default.jpg&tk=".concat(tk);
127
- var cia = new _cesium.WebMapTileServiceImageryProvider({
127
+ var addLabelImageryProvider = function addLabelImageryProvider() {
128
+ if (!baseMapStyle.hideLabel) {
128
129
  // 调用影响中文注记服务
129
- url: TDT_CIA_W,
130
- layer: 'cia_w',
131
- style: 'default',
132
- format: 'tiles',
133
- tileMatrixSetID: 'GoogleMapsCompatible',
134
- subdomains: ['t0', 't1', 't2', 't3', 't4', 't5', 't6', 't7'],
135
- // 天地图8个服务器
136
- minimumLevel: 0,
137
- maximumLevel: 18
138
- });
139
- mapRef.current.imageryLayers.addImageryProvider(cia); // 添加到cesium图层上
140
- };
141
- (0, _react.useEffect)(function () {
142
- if (baseMapStyle.imageryProvider === 'TdtImageryProvider' && !baseMapStyle.hideLabel) {
143
- addImageryProvider();
130
+ if (baseMapStyle.imageryProvider === 'TdtImageryProvider') {
131
+ var cia = new _TdtImageryProvider.TdtLabelImageryProvider({
132
+ tk: tk
133
+ });
134
+ mapRef.current.imageryLayers.addImageryProvider(cia); // 添加到cesium图层上
135
+ } else if (baseMapStyle.imageryProvider === 'IRSImageryProvider') {
136
+ var _cia = new _IRSImageryProvider.IRSLabelImageryProvider(baseMapStyle);
137
+ mapRef.current.imageryLayers.addImageryProvider(_cia); // 添加到cesium图层上
138
+ }
144
139
  } else {
145
140
  if (mapRef.current) {
146
141
  var layers = mapRef.current.imageryLayers._layers || [];
@@ -153,7 +148,7 @@ function Map(props) {
153
148
  }
154
149
  }
155
150
  }
156
- }, [baseMapStyle.imageryProvider, baseMapStyle.hideLabel]);
151
+ };
157
152
  var initMap = function initMap() {
158
153
  var center = props.center,
159
154
  fitViewHeight = props.fitViewHeight,
@@ -176,12 +171,12 @@ function Map(props) {
176
171
  maxZoom: maxZoom && Number(maxZoom) || 20
177
172
  };
178
173
  _cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJhZjc0ZDQ1ZS0wNWNhLTRhMDQtODJmYy03NTcyNDcxYzgzMDUiLCJpZCI6NzE4MTQsImlhdCI6MTYzNTQ3NzgyNX0.4TrdZWPWc9_6jLeGe90bRmBPB14XptwinSewVMu1iCE';
179
- var imageryProvider = new _base.Imagery[baseMapStyle.imageryProvider]({
174
+ var imageryProvider = new _base.Imagery[baseMapStyle.imageryProvider](_objectSpread({
180
175
  style: baseMapStyle.style,
181
176
  url: baseMapUrl,
182
177
  crs: 'WGS84',
183
178
  dark: dark
184
- });
179
+ }, baseMapStyle));
185
180
  var map = new _cesium.Viewer(mapDomRef.current, _objectSpread({
186
181
  shouldAnimate: true,
187
182
  animation: false,
@@ -215,6 +210,10 @@ function Map(props) {
215
210
  //设置背景透明
216
211
  imageryProvider: imageryProvider
217
212
  }, options));
213
+ if (dark) {
214
+ // 设置地球颜色
215
+ map.scene.globe.baseColor = _cesium.Color.fromCssColorString('#152937');
216
+ }
218
217
 
219
218
  // 事件订阅
220
219
  map.eventEmitter = new _EventEmitter["default"]();
@@ -420,13 +419,16 @@ function Map(props) {
420
419
 
421
420
  // 获取 3DTiles feature 属性
422
421
  map.get3DTileFeatureProperties = function (feature) {
423
- var _feature$getPropertyN;
424
422
  var properties = {};
425
- var propertyIds = (feature === null || feature === void 0 || (_feature$getPropertyN = feature.getPropertyNames) === null || _feature$getPropertyN === void 0 ? void 0 : _feature$getPropertyN.call(feature)) || [];
426
- var length = propertyIds.length;
427
- for (var i = 0; i < length; ++i) {
428
- var propertyId = propertyIds[i];
429
- properties[propertyId] = feature.getProperty(propertyId);
423
+ if (feature && feature.getPropertyNames) {
424
+ var propertyIds = feature.getPropertyNames() || [];
425
+ if (propertyIds !== null && propertyIds !== void 0 && propertyIds.length) {
426
+ var length = propertyIds.length;
427
+ for (var i = 0; i < length; ++i) {
428
+ var propertyId = propertyIds[i];
429
+ properties[propertyId] = feature.getProperty(propertyId);
430
+ }
431
+ }
430
432
  }
431
433
  return properties;
432
434
  };
@@ -652,19 +654,21 @@ function Map(props) {
652
654
  // 注册图层组件事件
653
655
  function registerEvent(feature, event) {
654
656
  if (feature) {
655
- var _feature$event;
656
- var properties = map.getProperties(feature) || {};
657
- if (feature instanceof _cesium.ImageryLayerFeatureInfo && feature !== null && feature !== void 0 && feature.data) {
658
- properties = _objectSpread(_objectSpread({}, properties), {}, {
659
- data: feature === null || feature === void 0 ? void 0 : feature.data
660
- });
661
- }
662
-
663
- // 触发自身事件
664
- (_feature$event = feature[event]) === null || _feature$event === void 0 || _feature$event.call(feature, properties);
665
657
  var layer = map.getLayerByFeature(feature);
666
- if (layer !== null && layer !== void 0 && layer[event]) {
667
- layer[event](properties);
658
+ if (layer !== null && layer !== void 0 && layer[event] || feature[event]) {
659
+ var _feature$event;
660
+ var properties = map.getProperties(feature) || {};
661
+ if (feature instanceof _cesium.ImageryLayerFeatureInfo && feature !== null && feature !== void 0 && feature.data) {
662
+ properties = _objectSpread(_objectSpread({}, properties), {}, {
663
+ data: feature === null || feature === void 0 ? void 0 : feature.data
664
+ });
665
+ }
666
+
667
+ // 触发自身事件
668
+ (_feature$event = feature[event]) === null || _feature$event === void 0 || _feature$event.call(feature, properties);
669
+ if (layer !== null && layer !== void 0 && layer[event]) {
670
+ layer[event](properties);
671
+ }
668
672
  }
669
673
  }
670
674
  }
@@ -676,7 +680,7 @@ function Map(props) {
676
680
  // 无法单独设置group内的图层
677
681
  // 暂时为了取消行政区划影像图层的点击效果
678
682
  if (layer) {
679
- unclickable = layer.unclickable;
683
+ unclickable = layer.viewOnly || layer.unclickable;
680
684
  }
681
685
  return unclickable;
682
686
  }
@@ -692,10 +696,16 @@ function Map(props) {
692
696
  if (!map.cancelBubble) {
693
697
  var pick = map.scene.pick(event.position);
694
698
  if (pick instanceof _cesium.Cesium3DTileFeature) {
695
- if (checkClickable(pick)) {
696
- map.onClickTemplateAfter && map.onClickTemplateAfter(pick);
699
+ var layer = map.getLayerByFeature(pick);
700
+ if (layer) {
701
+ if (layer.unclickable) {
702
+ return;
703
+ }
697
704
  registerEvent(pick, 'onClick');
698
- map.showTemplate(pick);
705
+ if (layer.template) {
706
+ map.onClickTemplateAfter && map.onClickTemplateAfter(pick);
707
+ map.showTemplate(pick);
708
+ }
699
709
  }
700
710
  } else {
701
711
  var entity = map.pickDataSourcesFeature(event);
@@ -925,6 +935,7 @@ function Map(props) {
925
935
  // 延时触发回调事件
926
936
  setTimeout(function () {
927
937
  createdMap && createdMap(map);
938
+ addLabelImageryProvider();
928
939
  onEvents.createdMap && onEvents.createdMap(map);
929
940
  setMapLoaded(true);
930
941
  }, (duration + 0.5) * 1000);
@@ -941,6 +952,7 @@ function Map(props) {
941
952
  // 延时触发回调事件
942
953
  setTimeout(function () {
943
954
  createdMap && createdMap(map);
955
+ addLabelImageryProvider();
944
956
  onEvents.createdMap && onEvents.createdMap(map);
945
957
  setMapLoaded(true);
946
958
  }, 500);