bill 5 years ago
parent
commit
24b6d576d8
4 changed files with 54 additions and 16 deletions
  1. 2 1
      public/config.json
  2. 1 0
      src/App.vue
  3. 20 10
      src/core/measure.js
  4. 31 5
      src/core/viewer.js

+ 2 - 1
public/config.json

@@ -5,11 +5,12 @@
         { "name": "road", "text": "道路", "type": "geodata", "checked": false, "show": true, "url": "road" },
         { "name": "heatmap", "text": "热力图", "type": "heatmap", "checked": false, "show": true, "url": "" },
         { "name": "demtile", "text": "地形", "type": "terrain", "checked": false, "show": true, "url": "demtile" },
+        { "name": "vvvvvvvv", "text": "aaaaa", "type": "tileset", "checked": false, "show": true, "url": "demtile" },
         { "name": "wuyidaxue", "text": "栅格底图", "type": "imagery", "checked": false, "show": true, "url": "imagerys/wuyidaxue" },
         {
             "name": "vector_1575278546957",
             "show": true,
-            "checked": false,
+            "checked": true,
             "text": "owen2",
             "type": "geodata",
             "url": "/data/owen2",

+ 1 - 0
src/App.vue

@@ -32,6 +32,7 @@ export default {
     created() {
         this.$bus.$on("config", config => {
             this.layers = config.layers.filter(item=> item.style ? item.style.show && item.show : item.show );
+            this.layers.forEach(item => item.type === 'tileset' && setTimeout(() =>this.change(item), 50))
         });
     },
     computed:{

+ 20 - 10
src/core/measure.js

@@ -118,7 +118,7 @@ var measureLineSpace = function (cb) {
   handler.setInputAction(function (movement) {
     tooltip.style.left = movement.endPosition.x + 3 + "px";
     tooltip.style.top = movement.endPosition.y - 25 + "px";
-    tooltip.innerHTML = '<p>单击开始,双击结束</p>';
+    tooltip.innerHTML = '<p>单击开始,右键结束</p>';
 
     ///////=================================
 
@@ -169,7 +169,9 @@ var measureLineSpace = function (cb) {
     floatingPoint = viewer.entities.add({
       name: '空间直线距离',
       position: positions[positions.length - 1],
+      eyeoffset: new Cartesian3(0, 0, -10000000),
       point: {
+        eyeoffset: new Cartesian3(0, 0, -10000000),
         pixelSize: 5,
         color: Color.RED,
         outlineColor: Color.WHITE,
@@ -182,7 +184,9 @@ var measureLineSpace = function (cb) {
       floatingLabel = viewer.entities.add({
         name: '空间直线距离2',
         position: center,
+        eyeoffset: new Cartesian3(0, 0, -10000000),
         label: {
+          eyeoffset: new Cartesian3(0, 0, -10000000),
           text: textDisance,
           font: '18px sans-serif',
           fillColor: Color.GOLD,
@@ -196,9 +200,9 @@ var measureLineSpace = function (cb) {
     }
   }
 
+  var timeout = null
   handler.setInputAction(function (movement) {
-    // cartesian = viewer.scene.camera.pickEllipsoid(movement.position, viewer.scene.globe.ellipsoid);
-    // cartesian = viewer.scene.pickPosition(movement.position);
+    
     if (positions.length == 0) {
       positions.push(cartesian.clone());
     }
@@ -210,9 +214,9 @@ var measureLineSpace = function (cb) {
   handler.setInputAction(function (movement) {
     
     handler.destroy();//关闭事件句柄
-    positions.pop();//最后一个点无效
-    viewer.entities.remove(floatingPoint);
-    viewer.entities.remove(floatingLabel);
+    // positions.pop();//最后一个点无效
+    // viewer.entities.remove(floatingPoint);
+    // viewer.entities.remove(floatingLabel);
     if (positions.length > 2) {
       positions.push({...positions[0]});
       zdis = getSpaceDistance(positions);
@@ -220,8 +224,10 @@ var measureLineSpace = function (cb) {
     }
     viewer.entities.add({
       name: '多边形面积',
-      position: positions[positions.length - 1],
+      position: positions[2],
+      eyeoffset: new Cartesian3(0, 0, -10000000),
       label: {
+        eyeoffset: new Cartesian3(0, 0, -10000000),
         text: getArea(positions, transfroms(positions)) + '平方公里',
         font: '18px sans-serif',
         fillColor: Color.GOLD,
@@ -235,7 +241,7 @@ var measureLineSpace = function (cb) {
 
 
     cb(positions)
-  }, ScreenSpaceEventType.LEFT_DOUBLE_CLICK);
+  }, ScreenSpaceEventType.RIGHT_CLICK);
 
   var PolyLinePrimitive = (function () {
     function _(positions) {
@@ -297,13 +303,16 @@ export const getLongLat = () => {
 
   getHandler.setInputAction(function (movement) {
     var position = viewer.scene.pickPosition(movement.position);
+    console.log(position)
     var pixelOffset = new Cartesian2(20, -20)
-
+    let t = transfromItem(position)
     points.push(
       viewer.entities.add({
+        eyeoffset: new Cartesian3(0, 0, -10000000),
         name: '经纬度',
         position: position,
         point: {
+          eyeoffset: new Cartesian3(0, 0, -10000000),
           pixelSize: 5,
           color: Color.RED,
           outlineColor: Color.WHITE,
@@ -311,7 +320,8 @@ export const getLongLat = () => {
           heightReference: HeightReference.NONE
         },
         label: {
-          text: JSON.stringify(transfromItem(position)),
+          eyeoffset: new Cartesian3(0, 0, -10000000),
+          text: `经纬度:${t.lat.toFixed(2) + ',' + t.lon.toFixed(2)} 高度:${t.hei.toFixed(2)}`,
           font: '16px sans-serif',
           fillColor: Color.GOLD,
           style: LabelStyle.FILL_AND_OUTLINE,

File diff suppressed because it is too large
+ 31 - 5
src/core/viewer.js