arnaucube
arnaucube/commonroutesLandingPagePublic Self-hosted repository
commonroutesLandingPage/app/views/travels/travels.js
app/views/travels/travels.jsRaw
 1'use strict';
 2
 3angular.module('app.travels', ['ngRoute', 'ui-leaflet'])
 4
 5    .config(['$routeProvider', function($routeProvider) {
 6        $routeProvider.when('/travels', {
 7            templateUrl: 'views/travels/travels.html',
 8            controller: 'TravelsCtrl'
 9        });
10    }])
11
12    .controller('TravelsCtrl', function($scope, $http) {
13        $scope.travels = [];
14        $scope.loadMorePagination = true;
15        $scope.page = 0;
16
17        //map
18        $scope.center = {};
19        $scope.bounds = {};
20        $scope.markers = [];
21        $scope.paths = [];
22        $scope.tiles = {
23            url: "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
24            options: {
25                attribution: '<a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
26            }
27        };
28
29        $http.get(urlapi + 'travels?page=' + $scope.page)
30            .then(function(data) {
31                console.log('data success');
32                console.log(data);
33                $scope.travels = data.data;
34                //draw markers on map
35                $scope.markers = [];
36                for (var i = 0; i < $scope.travels.length; i++) {
37                    $scope.markers.push({
38                        lat: Number($scope.travels[i].from.lat),
39                        lng: Number($scope.travels[i].from.long),
40                        message: $scope.travels[i].from.name
41                    });
42                    $scope.markers.push({
43                        lat: Number($scope.travels[i].to.lat),
44                        lng: Number($scope.travels[i].to.long),
45                        message: $scope.travels[i].to.name
46                    });
47                }
48                //draw lines between markers on map
49                $scope.paths = {};
50                var paths = [];
51                for (var i = 0; i < $scope.markers.length; i++) {
52                    var x = $scope.markers[i].lat;
53                    var y = $scope.markers[i].lng;
54                    paths.push([x, y]);
55                }
56                $scope.paths = {
57                    p1: {
58                        color: '#9575CD',
59                        weight: 8,
60                        latlngs: paths
61                    }
62                };
63                //var maplines = L.polyline(lines).addTo(map)
64
65                $scope.center = {
66                    lat: (Number($scope.travels[0].from.lat) + Number($scope.travels[0].to.lat)) / 2,
67                    lng: (Number($scope.travels[0].from.long) + Number($scope.travels[0].to.long)) / 2,
68                    zoom: 4
69                };
70            }, function(data) {
71                console.log('data error');
72            });
73    });