commonroutesApp/www/js/editTravel.js
www/js/editTravel.jsRaw
1angular.module('app.editTravel', ['pascalprecht.translate', 'ui-leaflet'])
2
3.controller('EditTravelCtrl', function($scope, $stateParams, $translate,
4 $http, $filter, $ionicLoading) {
5 $scope.center = {};
6 $scope.bounds = {};
7 $scope.markers = [];
8 $scope.tiles= {
9 url: "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
10 options: {
11 attribution: '<a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
12 }
13 };
14 $scope.travel={};
15 // get the travel
16 $http.get(urlapi + 'travels/id/' + $stateParams.travelid)
17 .then(function(data) {
18 console.log('data success travels');
19 console.log(data); // for browser console
20 $scope.travel = data.data; // for UI
21 $scope.travel.date = new Date($scope.travel.date);
22 $scope.markers = [];
23 $scope.markers.push({
24 lat: Number($scope.travel.from.lat),
25 lng: Number($scope.travel.from.long),
26 message: $scope.travel.from.name
27 });
28 $scope.markers.push({
29 lat: Number($scope.travel.to.lat),
30 lng: Number($scope.travel.to.long),
31 message: $scope.travel.to.name
32 });
33 $scope.center = {
34 lat: (Number($scope.travel.from.lat) + Number($scope.travel.to.lat)) / 2,
35 lng: (Number($scope.travel.from.long) + Number($scope.travel.to.long)) / 2,
36 zoom: 4
37 };
38 $scope.$broadcast('scroll.refreshComplete'); //refresher stop
39 }, function(data) {
40 console.log('data error');
41 $scope.$broadcast('scroll.refreshComplete'); //refresher stop
42 $ionicLoading.show({
43 template: 'Error connecting server',
44 noBackdrop: true,
45 duration: 2000
46 });
47 });
48
49 $scope.updateTravel =function(){
50 $http({
51 url: urlapi + 'travels/id/modify/' + $scope.travel._id,
52 method: "PUT",
53 data: $scope.travel
54 })
55 .then(function(data) {
56 console.log(data);
57
58 window.location="#app/travels/" + $scope.travel._id;
59 },
60 function(data) { // optional
61 // failed
62 console.log(data);
63 $ionicLoading.show({ template: 'Error updating travel. ' + data.data, noBackdrop: true, duration: 2000 });
64
65 });
66 };
67 $scope.getGeo = function(){
68
69 $scope.markers=[];
70 console.log($scope.travel.from.name);
71 console.log($scope.travel.to.name);
72 $http.get('https://nominatim.openstreetmap.org/search?q=' + $scope.travel.from.name + '&format=json&limit=1')
73 .then(function(data) {
74 console.log(data);
75 if(data.data[0])
76 {
77 $scope.travel.from.lat=data.data[0].lat;
78 $scope.travel.from.long=data.data[0].lon;
79 $scope.travel.from.name=data.data[0].display_name;
80 $scope.markers.push({
81 lat: Number(data.data[0].lat),
82 lng: Number(data.data[0].lon),
83 message: data.data[0].display_name
84 });
85 }
86 $http.get('https://nominatim.openstreetmap.org/search?q=' + $scope.travel.to.name + '&format=json&limit=1')
87 .then(function(data) {
88 if(data.data[0])
89 {
90 $scope.travel.to.lat=data.data[0].lat;
91 $scope.travel.to.long=data.data[0].lon;
92 $scope.travel.to.name=data.data[0].display_name;
93 $scope.markers.push({
94 lat: Number(data.data[0].lat),
95 lng: Number(data.data[0].lon),
96 message: data.data[0].display_name
97 });
98 }
99 });
100 });
101
102 };
103});