DragnDrop.js 3.62 KB
Newer Older
Patrick's avatar
Patrick committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
var startend = ""

function dragstart_handler(e){
    var img = new Image();
    img.src = '../templates/locationSMsmall.png';
    e.dataTransfer.setDragImage(img, 23, 45);    
    // e.dataTransfer.setDragImage(img, 75, 145); 
}

function dragEnter(e){

    
    var map = vcs.vcm.Framework.getInstance().getActiveMap();
var viewer = map.getCesiumWidget()
var scene = map.getCesiumWidget()._scene

// var scene = viewer.scene;
var billboards = scene.primitives.add(new Cesium.BillboardCollection());

   event.preventDefault();
   return true;
}

function dragDrop(e) {

  var map = vcs.vcm.Framework.getInstance().getActiveMap();
  var viewer = map.getCesiumWidget()
  var scene = map.getCesiumWidget()._scene

// var scene = viewer.scene;
// var billboards = scene.primitives.add(new Cesium.BillboardCollection());

    // var canvas = document.createElement('canvas');
    // canvas.width = 32;
    // canvas.height = 32;
    // var ctx = canvas.getContext('2d');
    // ctx.beginPath();
    // ctx.arc(16, 16, 15, 0, Cesium.Math.TWO_PI, true);
    // ctx.closePath();
    // ctx.fillStyle = `hsl(${Math.random()*360},55%,55%)`;
    // ctx.fill();


    var cartesian = viewer.camera.pickEllipsoid(
      new Cesium.Cartesian3(e.clientX, e.clientY), 
      scene.globe.ellipsoid
    );

    // billboards.add({
    //   image: canvas,
    //   position: cartesian
    // });
    var cartographic = Cesium.Cartographic.fromCartesian(cartesian);
        console.log(cartographic)
        var longitudeString = Cesium.Math.toDegrees(
          cartographic.longitude
        );
        ballonContent.lon = longitudeString;
        var latitudeString = Cesium.Math.toDegrees(
          cartographic.latitude
        );
        ballonContent.lat = latitudeString;

    if (startend == "start"){
        var pointd = {
          lat:"",
          lon:"",
          loc:""
      }
          pointd.lat = ballonContent.lat
          pointd.lon = ballonContent.lon
          pointd.loc = "Start"
          var text = document.getElementById('Spunktlat');
          text.value = ballonContent.lat;
          var text = document.getElementById('Spunktlon');
          text.value = ballonContent.lon;
          // visualize a Point at the clicked location
          setPoint("Start", pointd);

      } else if (startend == "end"){
        var pointd = {
          lat:"",
          lon:"",
          loc:""
      }
          pointd.lat = ballonContent.lat
          pointd.lon = ballonContent.lon
          pointd.loc = "End"

          var text = document.getElementById('Epunktlat');
          text.value = ballonContent.lat;
          var text = document.getElementById('Epunktlon');
          text.value = ballonContent.lon;
          // visualize a Point at the clicked location
          setPoint("End", pointd);
      } else if (startend == "fav"){
        var pointd = {
          lat:"",
          lon:"",
          loc:""
      }
          pointd.lat = ballonContent.lat
          pointd.lon = ballonContent.lon
          pointd.loc = "fav"

          // var text = document.getElementById('Epunktlat');
          // text.value = ballonContent.lat;
          // var text = document.getElementById('Epunktlon');
          // text.value = ballonContent.lon;
          // visualize a Point at the clicked location
111
          setPointFav("fav", pointd);
Patrick's avatar
Patrick committed
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
      }
}

function dragOver(e){
    var map = vcs.vcm.Framework.getInstance().getActiveMap();
var viewer = map.getCesiumWidget()
var scene = map.getCesiumWidget()._scene


// var scene = viewer.scene;
var billboards = scene.primitives.add(new Cesium.BillboardCollection());
   e.preventDefault();
}



function setPointStartEnd(loc){
startend = loc
}