Benutzer-Werkzeuge

Webseiten-Werkzeuge


schulesuchen_app.js

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

schulesuchen_app.js [19.02.2018 19:49] (aktuell)
whupfeld angelegt
Zeile 1: Zeile 1:
 +====== app.js ======
 +<code javascript>
 +var app = angular.module('myApp', ['angular-loading-bar','leaflet-directive']);
  
 +app.filter('array',function(){
 +  //Wandelt ein Object in ein Array, damit Filter anwendbar ist.
 +  return function(items){
 +    var filtered = [];
 +    angular.forEach(items,function(item){
 +      filtered.push(item)
 +    });
 +    return filtered;
 +  };
 +})
 +
 +app.controller('customersCtrl', function($scope, $http) {
 +
 +    angular.extend($scope, {
 +        center: {
 +            lat: 52.095,
 +            lng: 6.823,
 +            zoom: 16
 +        },
 +        markers: {
 +            schule: {
 +                lat: 52.095,
 +                lng: 6.823,
 +                message: "Name der Schule ",
 +                focus: false,
 +                draggable: false
 +            }
 +        },
 +        legend: {
 +                    position: 'bottomleft',
 +                    colors: [ '#00ff00', '#0000ee' , '#ff0000', 'violet', '#FFFF00' ],
 +                    labels: [ 'Grundschule', 'Förderschule', 'Hauptschule', 'Gesamtschule', 'Gymnasium' ]
 +                },
 +        defaults: {
 +            scrollWheelZoom: false,
 +            tileLayer: 'https://{s}.tile.osm.org/{z}/{x}/{y}.png'
 +        },
 +        bounds:{
 +            northEast: {  lat: 52.0,  lng: 7.0  },
 +            southWest: {  lat: 51.0,  lng: 8.7  }
 +        },
 +        iconRed : {
 +        iconUrl: 'js/images/marker-icon-2x-red.png',
 +        shadowUrl: 'js/images/marker-shadow.png',
 +        iconSize: [25, 41],
 +        iconAnchor: [12, 41],
 +        popupAnchor: [1, -34],
 +        shadowSize: [41, 41]
 +        },
 +        iconBlue : {
 +        iconUrl: 'js/images/marker-icon-2x-blue.png',
 +        shadowUrl: 'js/images/marker-shadow.png',
 +        iconSize: [25, 41],
 +        iconAnchor: [12, 41],
 +        popupAnchor: [1, -34],
 +        shadowSize: [41, 41]
 +        },
 +        iconGreen : {
 +        iconUrl: 'js/images/marker-icon-2x-green.png',
 +        shadowUrl: 'js/images/marker-shadow.png',
 +        iconSize: [25, 41],
 +        iconAnchor: [12, 41],
 +        popupAnchor: [1, -34],
 +        shadowSize: [41, 41]
 +        },
 +        iconViolet : {
 +        iconUrl: 'js/images/marker-icon-2x-violet.png',
 +        shadowUrl: 'js/images/marker-shadow.png',
 +        iconSize: [25, 41],
 +        iconAnchor: [12, 41],
 +        popupAnchor: [1, -34],
 +        shadowSize: [41, 41]
 +        },
 +        iconYellow : {
 +        iconUrl: 'js/images/marker-icon-2x-yellow.png',
 +        shadowUrl: 'js/images/marker-shadow.png',
 +        iconSize: [25, 41],
 +        iconAnchor: [12, 41],
 +        popupAnchor: [1, -34],
 +        shadowSize: [41, 41]
 +        },
 +        iconGrey : {
 +        iconUrl: 'js/images/marker-icon-2x-grey.png',
 +        shadowUrl: 'js/images/marker-shadow.png',
 +        iconSize: [25, 41],
 +        iconAnchor: [12, 41],
 +        popupAnchor: [1, -34],
 +        shadowSize: [41, 41]
 +        },
 +        iconOrange : {
 +        iconUrl: 'js/images/marker-icon-2x-orange.png',
 +        shadowUrl: 'js/images/marker-shadow.png',
 +        iconSize: [25, 41],
 +        iconAnchor: [12, 41],
 +        popupAnchor: [1, -34],
 +        shadowSize: [41, 41]
 +        },
 +        iconBlack : {
 +        iconUrl: 'js/images/marker-icon-2x-black.png',
 +        shadowUrl: 'js/images/marker-shadow.png',
 +        iconSize: [25, 41],
 +        iconAnchor: [12, 41],
 +        popupAnchor: [1, -34],
 +        shadowSize: [41, 41]
 +        },
 +    });
 +
 +
 +    $scope.search = function () {
 +        if (!$scope.searchstr) {$scope.errortext = "Surchstring leer."; return;}
 +        else {
 +          $http.get("ajax/search.php?q=" + $scope.searchstr)
 +          .then(function (response) {
 +              $scope.start = false;
 +              $scope.names = response.data.records;
 +              delete $scope.schule;
 +              delete $scope.gemeinden;
 +              delete $scope.gem_schulen;
 +          });
 +        }
 +    }
 +
 +    $scope.searchgm = function () {
 +        if (!$scope.searchgmstr) {$scope.errortext = "Surchstring leer."; return;}
 +        else {
 +          $http.get("ajax/search_gemeinde.php?q=" + $scope.searchgmstr)
 +          .then(function (response) {
 +              $scope.start=false;
 +              $scope.gemeinden = response.data.gemeinden;
 +              delete $scope.schule;
 +              delete $scope.names;
 +              delete $scope.gem_schulen;
 +
 +          });
 +        }
 +    }
 +
 +    $scope.show = function (snr) {
 +      //console.log("get_school_json.php?snr="+snr);
 +      $http.get("ajax/get_schule.php?snr="+snr)
 +       .then(function successCallback(response) {
 +            $scope.schule = response.data;
 +            $scope.fbilingual($scope.schule.Schulnummer);
 +
 +            $scope.center.lat=response.data.latitude;
 +            $scope.center.lng=response.data.longitude;
 +            $scope.center.zoom = 16;
 +            $scope.markers = {};
 +            $scope.markers.schule = {
 +              lat: response.data.latitude,
 +              lng: response.data.longitude,
 +              message: message=response.data.Schulbezeichnung_1+"<br>"+response.data.PLZ+" "+response.data.Ort,
 +              focus: false,
 +              draggable: false
 +            }
 +        },
 +            function errorCallback(response){ alert(response) });
 +    }
 +
 +    $scope.showgm = function(gemschluessel) {
 +      $http.get("ajax/get_gm_schulen.php?gem="+gemschluessel)
 +      .then(function successCallback(response){
 +          $scope.gem_schulen = response.data;
 +
 +          $scope.center.lat=response.data[1].latitude;
 +          $scope.center.lng=response.data[1].longitude;
 +          $scope.center.zoom = 10;
 +          num=Object.keys(response.data).length;
 +          $scope.markers = {};
 +          $scope.bounds = {};
 +          //$scope.maxbounds = $scope.region.defaults;
 +          minlat=100;maxlat=0;minlng=100;maxlng=0;
 +          for (var i=1; i<=num; i++) {
 +            var latitude = response.data[i].latitude;
 +            var longitude = response.data[i].longitude;
 +            var Schulnummer = response.data[i].Schulnummer;
 +            var sf = response.data[i].sf;
 +            maxlat=Math.max(latitude,maxlat);
 +            minlat=Math.min(latitude,minlat);
 +            maxlng=Math.max(longitude,maxlng);
 +            minlng=Math.min(longitude,minlng);
 +            switch (sf) {
 +               case "02": sficon = $scope.iconGreen;
 +                        break;
 +               case "04": sficon = $scope.iconRed;
 +                        break;
 +               case "08": sficon = $scope.iconOrange;
 +               case "10": sficon = $scope.iconBlue;
 +                        break;
 +               case "14":
 +               case "15": sficon = $scope.iconViolet;
 +                        break;
 +               case "20": sficon = $scope.iconYellow;
 +                        break;
 +               case "30": sficon = $scope.iconBlack;
 +                        break;
 +               default: sficon   = $scope.iconGrey;
 +              }
 +            var html = response.data[i].Schulbezeichnung_1
 +              + '<br>' + response.data[i].Schulbezeichnung_2
 +              + '<br>' + response.data[i].PLZ + ' ' + response.data[i].Ort;
 +            //  + '<br><a href="#" ng-click="show(Schulnummer)">Details</a>';
 +            $scope.markers['m'+i] = {
 +                lat: latitude,
 +                lng: longitude,
 +                getMessageScope: function() { return $scope; },
 +                message: html,
 +                compileMessage: true,
 +                draggable: false,
 +                icon: sficon
 +            }
 +          }
 +          $scope.bounds ={
 +            northEast: {lat: maxlat, lng: minlng },
 +            southWest: {lat: minlat, lng: maxlng
 +            }
 +          }
 +
 +          console.log($scope.markers);
 +          console.log($scope.bounds);
 +      })
 +    }
 +
 +    $scope.statistik = function (gemeinde) {
 +      $http.get("ajax/get_statistic.php?gmd="+gemeinde)
 +      .then(function(response){
 +        $scope.anzSchulen = response.data.sfstatistik;
 +        $scope.rechtsformen = response.data.rfstatistik;
 +      })
 +    }
 +
 +    $scope.kursangebot = function (snr) {
 +      $http.get("ajax/get_kurse.php?snr="+snr)
 +      .then(function(response){
 +          $scope.gkef = response.data.gkef;
 +          $scope.gkq1 = response.data.gkq1;
 +          $scope.lkq1 = response.data.lkq1;
 +          $scope.gkq2 = response.data.gkq2;
 +          $scope.lkq2 = response.data.lkq2;
 +      })
 +    }
 +
 +    $scope.fbilingual = function (snr) {
 +      $http.get("ajax/get_bilingual.php?snr="+snr)
 +      .then(function(response){
 +        $scope.bilingual = response.data.bilingual;
 +      })
 +    }
 +
 +   $scope.start = 1;
 +});
 +
 +</code>
schulesuchen_app.js.txt · Zuletzt geändert: 19.02.2018 19:49 von whupfeld