Blame view

frontend/web/js/statement.js 2.11 KB
b41d5459   Yarik   first commit
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
  var road_passports = [];
  $(document).on('click', '#control .show-route', function() {
      var id = $(this).data('key');
      if(id in road_passports) {
          clearMarkers();
          road_passports[id].forEach(function(element, index) {
              if(element == undefined) {
                  return false;
              }
              var marker = new google.maps.Marker(
                  {
                      position : {
                          lat : parseFloat(element.lat),
                          lng : parseFloat(element.lng)
                      },
                      title : '#' + parseInt(element.num),
                      map : null,
                      draggable : false,
                      label : parseInt(element.num).toString(10)
                  }
              );
              markers.push(marker);
          });
          repaint();
          fitBounds();
          showMap();
      } else {
          $.get(points_url, {
              id: id
          }, function(data) {
              road_passports[id] = new google.maps.MVCArray();
              if(data.result.passport) {
                  road_passports[id].model = createPassportModel();
                  fillPassportModel(id, data.result.passport);
              }
              road_passports[id].setAt(0, undefined);
              clearMarkers();
              $.each(
                  data.result.points, function(index, value)
                  {
                      road_passports[id].setAt(index, value);
                      var marker = new google.maps.Marker(
                          {
                              position : {
                                  lat : parseFloat(value.lat),
                                  lng : parseFloat(value.lng)
                              },
                              title : '#' + parseInt(value.num),
                              map : null,
                              draggable : false,
                              label : parseInt(value.num).toString(10)
                          }
                      );
                      markers.push(marker);
                  }
              );
              repaint();
              fitBounds();
              showMap();
          });
      }
  });