@kq_npm/client3d_webgl_vue 0.9.9-beta → 1.0.1-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -1402,33 +1402,51 @@ class LayerManager {
1402
1402
 
1403
1403
  case "wms":
1404
1404
  //配置id时只能是单个图层
1405
- promise = this._viewer.addWMSLayerGroup(url, {
1406
- layers: layerData.id + ""
1407
- }).then(group => {
1408
- var layers = group._addedLayers || group._layers;
1409
-
1410
- if (layers && layers.length > 0) {
1411
- //如果是kqserver类型,记录服务返回的图层信息
1412
- if (layerData.sourceLayers) {
1413
- var layerInfo = layerData.sourceLayers.find(item => {
1414
- return item.id + "" == layerData.id + "";
1415
- });
1405
+ if (layerData.rect84) {
1406
+ var options = {
1407
+ url: url,
1408
+ layers: layerData.id + "",
1409
+ tilingScheme: layerData.epsg == 3857 ? new Cesium.WebMercatorTilingScheme() : new Cesium.GeographicTilingScheme(),
1410
+ rectangle: Cesium.Rectangle.fromDegrees(layerData.rect84[0], layerData.rect84[1], layerData.rect84[2], layerData.rect84[3]),
1411
+ parameters: {
1412
+ transparent: 'true',
1413
+ format: 'image/png'
1414
+ }
1415
+ };
1416
+ layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider(options));
1417
+ this._guidMapping[layerData.guid] = layer.guid;
1418
+ layerData.visible = true;
1419
+ layerData.serverType = "imagerylayer";
1420
+ } else {
1421
+ promise = this._viewer.addWMSLayerGroup(url, {
1422
+ layers: layerData.id + ""
1423
+ }).then(group => {
1424
+ var layers = group._addedLayers || group._layers;
1425
+
1426
+ if (layers && layers.length > 0) {
1427
+ //如果是kqserver类型,记录服务返回的图层信息
1428
+ if (layerData.sourceLayers) {
1429
+ var layerInfo = layerData.sourceLayers.find(item => {
1430
+ return item.id + "" == layerData.id + "";
1431
+ });
1416
1432
 
1417
- if (layerInfo) {
1418
- for (var key in layerInfo) {
1419
- if (!layerData[key]) {
1420
- layerData[key] = layerInfo[key];
1433
+ if (layerInfo) {
1434
+ for (var key in layerInfo) {
1435
+ if (!layerData[key]) {
1436
+ layerData[key] = layerInfo[key];
1437
+ }
1421
1438
  }
1422
1439
  }
1423
1440
  }
1441
+
1442
+ this._guidMapping[layerData.guid] = layers[0].guid;
1443
+ layerData.name = name || layers[0].name;
1444
+ layerData.visible = true;
1445
+ layerData.serverType = "imagerylayer";
1424
1446
  }
1447
+ });
1448
+ }
1425
1449
 
1426
- this._guidMapping[layerData.guid] = layers[0].guid;
1427
- layerData.name = name || layers[0].name;
1428
- layerData.visible = true;
1429
- layerData.serverType = "imagerylayer";
1430
- }
1431
- });
1432
1450
  break;
1433
1451
 
1434
1452
  case "wmts":
@@ -1984,8 +2002,13 @@ class LayerManager {
1984
2002
  } //缩放至图层
1985
2003
 
1986
2004
 
1987
- flyToBounds(guid) {
1988
- let viewer = this._viewer;
2005
+ flyToBounds(guid, rect84) {
2006
+ let viewer = this._viewer; // if(rect84 instanceof Array && rect84.length === 4) {
2007
+ // let rect = Cesium.Rectangle.fromDegrees(rect84[0], rect84[1], rect84[2], rect84[3]);
2008
+ // viewer.camera.flyTo({ destination: rect });
2009
+ // return;
2010
+ // }
2011
+
1989
2012
  let layer = this.getLayerByGuid(guid);
1990
2013
 
1991
2014
  if (layer instanceof Cesium.ImageryLayer) {
@@ -2002,7 +2025,7 @@ class LayerManager {
2002
2025
  layer.getViewableRectangle().then(function (rectangle) {
2003
2026
  if (layer.ExtentSource) {
2004
2027
  var rectangle = Cesium.Rectangle.fromDegrees(layer.ExtentSource.left, layer.ExtentSource.bottom, layer.ExtentSource.right, layer.ExtentSource.top);
2005
- viewer.scene.camera.flyTo({
2028
+ viewer.camera.flyTo({
2006
2029
  destination: rectangle
2007
2030
  });
2008
2031
  } else if (rectangle) {
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@kq_npm/client3d_webgl_vue","description":"KQGIS Client3D for Vue.js","version":"0.9.9-beta","homepage":"","keywords":["KQGIS","webGL","Vue"],"browserslist":["> 1%","last 2 versions","not dead","not ie 11"],"author":"KQWEB GROUP","license":"Apache-2.0","dependencies":{"colorcolor":"^1.1.1","echarts":"^5.3.3","js-cookie":"^3.0.1","omit.js":"^2.0.2","save":"^2.5.0","tinycolor2":"^1.4.2","vue-i18n":"^9.2.0-beta.36","xlsx":"^0.18.5","css-vars-ponyfill":"^2.4.8","xe-utils":"^3.5.4"}}
1
+ {"name":"@kq_npm/client3d_webgl_vue","description":"KQGIS Client3D for Vue.js","version":"1.0.1-beta","homepage":"","keywords":["KQGIS","webGL","Vue"],"browserslist":["> 1%","last 2 versions","not dead","not ie 11"],"author":"KQWEB GROUP","license":"Apache-2.0","dependencies":{"colorcolor":"^1.1.1","echarts":"^5.3.3","js-cookie":"^3.0.1","omit.js":"^2.0.2","save":"^2.5.0","tinycolor2":"^1.4.2","vue-i18n":"^9.2.0-beta.36","xlsx":"^0.18.5","css-vars-ponyfill":"^2.4.8","xe-utils":"^3.5.4"}}
@@ -947,33 +947,51 @@ class LayerManager {
947
947
 
948
948
  case "wms":
949
949
  //配置id时只能是单个图层
950
- promise = this._viewer.addWMSLayerGroup(url, {
951
- layers: layerData.id + ""
952
- }).then(group => {
953
- var layers = group._addedLayers || group._layers;
954
-
955
- if (layers && layers.length > 0) {
956
- //如果是kqserver类型,记录服务返回的图层信息
957
- if (layerData.sourceLayers) {
958
- var layerInfo = layerData.sourceLayers.find(item => {
959
- return item.id + "" == layerData.id + "";
960
- });
950
+ if (layerData.rect84) {
951
+ var options = {
952
+ url: url,
953
+ layers: layerData.id + "",
954
+ tilingScheme: layerData.epsg == 3857 ? new Cesium.WebMercatorTilingScheme() : new Cesium.GeographicTilingScheme(),
955
+ rectangle: Cesium.Rectangle.fromDegrees(layerData.rect84[0], layerData.rect84[1], layerData.rect84[2], layerData.rect84[3]),
956
+ parameters: {
957
+ transparent: 'true',
958
+ format: 'image/png'
959
+ }
960
+ };
961
+ layer = this._viewer.imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider(options));
962
+ this._guidMapping[layerData.guid] = layer.guid;
963
+ layerData.visible = true;
964
+ layerData.serverType = "imagerylayer";
965
+ } else {
966
+ promise = this._viewer.addWMSLayerGroup(url, {
967
+ layers: layerData.id + ""
968
+ }).then(group => {
969
+ var layers = group._addedLayers || group._layers;
970
+
971
+ if (layers && layers.length > 0) {
972
+ //如果是kqserver类型,记录服务返回的图层信息
973
+ if (layerData.sourceLayers) {
974
+ var layerInfo = layerData.sourceLayers.find(item => {
975
+ return item.id + "" == layerData.id + "";
976
+ });
961
977
 
962
- if (layerInfo) {
963
- for (var key in layerInfo) {
964
- if (!layerData[key]) {
965
- layerData[key] = layerInfo[key];
978
+ if (layerInfo) {
979
+ for (var key in layerInfo) {
980
+ if (!layerData[key]) {
981
+ layerData[key] = layerInfo[key];
982
+ }
966
983
  }
967
984
  }
968
985
  }
986
+
987
+ this._guidMapping[layerData.guid] = layers[0].guid;
988
+ layerData.name = name || layers[0].name;
989
+ layerData.visible = true;
990
+ layerData.serverType = "imagerylayer";
969
991
  }
992
+ });
993
+ }
970
994
 
971
- this._guidMapping[layerData.guid] = layers[0].guid;
972
- layerData.name = name || layers[0].name;
973
- layerData.visible = true;
974
- layerData.serverType = "imagerylayer";
975
- }
976
- });
977
995
  break;
978
996
 
979
997
  case "wmts":
@@ -1529,8 +1547,13 @@ class LayerManager {
1529
1547
  } //缩放至图层
1530
1548
 
1531
1549
 
1532
- flyToBounds(guid) {
1533
- let viewer = this._viewer;
1550
+ flyToBounds(guid, rect84) {
1551
+ let viewer = this._viewer; // if(rect84 instanceof Array && rect84.length === 4) {
1552
+ // let rect = Cesium.Rectangle.fromDegrees(rect84[0], rect84[1], rect84[2], rect84[3]);
1553
+ // viewer.camera.flyTo({ destination: rect });
1554
+ // return;
1555
+ // }
1556
+
1534
1557
  let layer = this.getLayerByGuid(guid);
1535
1558
 
1536
1559
  if (layer instanceof Cesium.ImageryLayer) {
@@ -1547,7 +1570,7 @@ class LayerManager {
1547
1570
  layer.getViewableRectangle().then(function (rectangle) {
1548
1571
  if (layer.ExtentSource) {
1549
1572
  var rectangle = Cesium.Rectangle.fromDegrees(layer.ExtentSource.left, layer.ExtentSource.bottom, layer.ExtentSource.right, layer.ExtentSource.top);
1550
- viewer.scene.camera.flyTo({
1573
+ viewer.camera.flyTo({
1551
1574
  destination: rectangle
1552
1575
  });
1553
1576
  } else if (rectangle) {